前端自己操作的cookies 获取
js
function GetCookie()
{
var key = "";
var getCookie = document.cookie.replace(/[ ]/g, ""); //获取cookie,并且将获得的cookie格式化,去掉空格字符
var arrCookie = getCookie.split(";") //将获得的cookie以"分号"为标识 将cookie保存到arrCookie的数组中
var tips; //声明变量tips
for (var i = 0; i < arrCookie.length; i++) { //使用for循环查找cookie中的tips变量
var arr = arrCookie[i].split("="); //将单条cookie用"等号"为标识,将单条cookie保存为arr数组
if (key == arr[0]) { //匹配变量名称,其中arr[0]是指的cookie名称,如果该条变量为tips则执行判断语句中的赋值操作
tips = arr[1]; //将cookie的值赋给变量tips
break; //终止for循环遍历
}
}
}
vue 安装vue-cookies 操作起来很简单,向session一样
前端 获取后端存的cookies
这个问题才是我写这篇博客的原因
之前公司的项目后端没有验证cookies,最近做了一次渗透性测试,要求后端验证cookies,后端存在前端的cookies,在控制台-application-cookies-项目地址里面,一般后台可以自己取到这个东西,但是有时候用户游览器设置了隐私模式,后端就无法获取cookies了
于是:想在前端获取cookies,然后在headers里面传过去 ,在获取cookies的时候问题就出现了,用上述办法获取不到!!!!
看了会,发现图片标红的地方httponly打了个✔️,
如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,
窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。
XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,
所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,
当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。
如,盗取用户Cookie、破坏页面结构、重定向到其它网站等
设置完毕后通过js脚本是读不到该cookie的