js中如何获取Cookies的值

发布网友 发布时间:2022-04-22 05:03

我来回答

3个回答

热心网友 时间:2022-04-22 03:09

首先JS设置cookie:

假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:

document.cookie="name="+username;

JS读取cookie:

var username=document.cookie.split(";")[0].split("=")[1];

function setCookie(name,value)

{

var Days = 30;

var exp = new Date();

exp.setTime(exp.getTime() + Days*24*60*60*1000);

document.cookie = name +"="+ escape (value) +";expires=" + exp.toGMTString();

}

读取cookies

function getCookie(name)

{

var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))

return unescape(arr[2]);

else

return null;

}

扩展资料

服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。

另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

热心网友 时间:2022-04-22 04:27

读取属于当前文档的所有cookies

var allcookies = document.cookie;

 定义一个函数,用来读取特定的cookie值。

function getCookie(cookie_name)
{
    var allcookies = document.cookie;
    var cookie_pos = allcookies.indexOf(cookie_name);   //索引的长度
 
    // 如果找到了索引,就代表cookie存在,
    // 反之,就说明不存在。
    if (cookie_pos != -1)
    {
        // 把cookie_pos放在值的开始,只要给值加1即可。
        cookie_pos += cookie_name.length + 1;      //这里容易出问题,所以请大家参考的时候自己好好研究一下
        var cookie_end = allcookies.indexOf(";", cookie_pos);
 
        if (cookie_end == -1)
        {
            cookie_end = allcookies.length;
        }
 
        var value = unescape(allcookies.substring(cookie_pos, cookie_end));         //这里就可以得到你想要的cookie的值了。。。
    }
    return value;
}

// 调用函数
var cookie_val = getCookie("username");


热心网友 时间:2022-04-22 06:02

楼主是要玩跨站攻击啊 xss漏洞??

function getCookie(name)
{
var bikky = document.cookie;
name += "=";
var i = 0;
while (i < bikky.length)
{
var offset = i + name.length;
if (bikky.substring(i, offset) == name)
{
var endstr = bikky.indexOf(";", offset);
if (endstr == -1) endstr = bikky.length;
return unescape(bikky.substring(offset, endstr));
}
i = bikky.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com