属性设置"/>
cooiek的Secure属性设置
在cooiek.js中添加,获取和删除方法
const cookie = {
/**
* @description js原生设置cookie
* @param {String} name 给你要设置的cookie起个名字(key)
* @param {String} value cookie的具体内容(value)
* @param {String} hours 设置cookie的过期时间,单位:天
*/
// 设置cookie
setCookie: (name, value, hours) => {
let exdate = new Date();
exdate.setTime(exdate.getTime() + hours * 1000 * 60 * 60);
document.cookie = name + '=' + escape(value) + ((hours == null) ? '' : ';expires=' + exdate.toGMTString()) + ';Secure=true';
},
/**
* @description js原生获取cookie方法1
* @param {String} name 你要获取的cookie名
*/
// 获取cookie
getCookie: (name) => {
if (document.cookie.length > 0) {
let start = document.cookie.indexOf(name + '=');
if (start !== -1) {
start = start + name.length + 1;
let end = document.cookie.indexOf(';', start);
if (end === -1) {
end = document.cookie.length;
return unescape(document.cookie.substring(start, end));
}
}
}
return '';
},
//删除cookie
removeCookie: (name) => {
let exp = new Date();
exp.setTime(exp.getTime() - 1);
let cval = cookie.getCookie(name);
if (cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";Secure=true";
}
}
};
export default cookie;
加密会话(SSL)Cookie 中缺少 Secure 属性
cooiek中有两个需要把Secure属性为true,是在拦截器的地方设置Secure属性为true,Secure默认值就是false,获取到cooiek中要的值,把Secure=true,在给到document.cookie
function getCookie(cname) {
var name = cname + '='
var ca = document.cookie.split(';')
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim()
if (c.indexOf(name) == 0) return c.substring(name.length, c.length)
}
return ''
}
// 调用函数
let cookie_val = getCookie('BMAP_SECKEY')
let cookie_value = getCookie('SECKEY_ABVK')
var now = new Date(); //获取当前日期
now.setDate(now.getDate() + 1); //cookie的保留时间为一天
document.cookie = 'BMAP_SECKEY' + '=' + cookie_val + ";expires=" + now.toGMTString() + ";Secure=true";
document.cookie = 'SECKEY_ABVK' + '=' + cookie_value + ";expires=" + now.toGMTString() + ";Secure=true";
更多推荐
cooiek的Secure属性设置
发布评论