【问题标题】:Browsers: read PHPSESSID using javascript [duplicate]浏览器:使用 javascript 读取 PHPSESSID [重复]
【发布时间】:2017-02-01 21:18:37
【问题描述】:

使用 Chrome 的开发工具(标签资源)或 Firefox 的工具(标签存储)中的值,如会话令牌,例如可以看到PHPSESSID。 问题:如何以编程方式检索该值? 我的问题与 PHP(独家)无关,但希望与 Javascript 相关。我的意思是,在浏览器端获取值的标准方法,所有这些值都显示在提到的选项卡上。

附录:如果我从浏览器发出请求(我使用的是 AJAX sn-p)然后检查服务器我可以看到 PHPSESSID 所以,一定有办法得到该值可直接从浏览器获得。

【问题讨论】:

    标签: javascript php session cookies browser


    【解决方案1】:
    function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1);
            if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
        }
        return "";
    }
    
    getCookie('PHPSESSID');
    

    【讨论】:

    • 试过了,但是document.cookie 是空的
    • 您能否检查PHPSESSID-cookie 是否设置了仅http 标志?另外,您可以发布 http-request 的完整标头吗? (当然匿名)
    • 看,如果我从浏览器发出请求(我使用了 AJAX sn-p),那么在服务器中我可以看到这些值。因此,必须有一种方法可以直接从浏览器中获取值
    • @Yeke 一种方法,就是这样。有一些 cookie 无法通过设计(仅限 http)读取 javascript,此人试图帮助您确定您尝试读取的特定 cookie 是否是这些例外之一。如果是,您将不得不做其他事情,例如在服务器端读取它并将其作为响应中的值返回。这个答案有来自谷歌搜索的复制/粘贴代码,就像字面上“用javascript读取cookie”这个词的第一个结果一样。你说,“看”这个人,就像他们不明白一样……
    • @ChrisBaker 不要那样做,我说“看”是因为我认为我没有很好地解释自己(实际上我编辑了这个问题,它已被标记为重复:D哦!)。只是我不明白浏览器向我显示的内容以及我可以复制/粘贴的内容如何无法通过代码获得。对我来说,这是一个严格的浏览器方面的问题。
    猜你喜欢
    • 1970-01-01
    • 2010-12-27
    • 2018-03-24
    • 2014-06-20
    • 2012-05-02
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2011-05-08
    相关资源
    最近更新 更多