http client怎么设置cookie 如何设置浏览器接受cookie?

[更新]
·
·
分类:互联网
4340 阅读

http client怎么设置cookie

如何设置浏览器接受cookie?

如何设置浏览器接受cookie?

浏览器的cookies有很多种方法到客户端,一般常用的:
一:通过response中的Set-Cookie 响应头,直接设置,这种情况下一般是程序员在java,c#,php等代码中直接操作cookie会编译成这种情况。
二:通过js设置,实质上,javascript是可以直接操作cookies的。

cookie被获取怎么办?

1.设置Cookie的HttpOnly属性为true。
  一般来说,跨站脚本攻击(XSS)最常见的攻击方式就是通过在交互式网站(例如论坛、微博等)中嵌入javascript脚本,当其他用户访问嵌有脚本的网页时,攻击者就能通过窃取到用户cookie信息。如果网站开发者将cookie的httponly属性设置为true,那么浏览器客户端就不允许嵌在网页中的javascript脚本去读取用户的cookie信息。
  2.设置cookie的secure属性为true。
  虽然方式1能防止攻击者通过javascript脚本的方式窃取cookie,但是没办法防止攻击者通过fiddler等抓包工具直接截取请求数据包的方式获取cookie信息,这时候设置secure属性就显得很重要,当设置了securetrue时,那么cookie就只能在https协议下装载到请求数据包中,在http协议下就不会发送给服务器端,https比http更加安全,这样就可以防止cookie被加入到http协议请求包暴露给抓包工具啦。
  3.设置cookie的samesite属性为strict或lax。
  前文提到攻击者获取到cookie后,还会发起跨站请求伪造(CSRF)攻击,这种攻击方式通常是在第三方网站发起的请求中携带受害者cookie信息,而设置了samesite为strict或lax后就能限制第三方cookie,从而可以防御CSRF攻击。当然,当前常用的还有校验token和referer请求头的方式来防止CSRF攻击,感兴趣的读者也可以自己翻阅材料了解下。
  4.设置cookie的expires属性值。
  通常,cookie的有效期会被设置为永久有效或一个较长时间的正数值,这样的cookie会被保存在本地,攻击者获取cookie信息后可以在相当长的一段时间里控制用户账号,而如果给cookie设置expires值为-1,那么该cookie就仅仅保存在客户端内存中,当浏览器客户端被关闭时,cookie就会失效了。