Cookie 与session 通熟…
来源:互联网 发布:古言 知乎 编辑:程序博客网 时间:2024/06/07 11:40
1. Cookie是什么?
2. 窃取的原理是什么?
3. 系统如何防Cookie劫持呢?
Cookie与session
HTTP天然是无状态的协议,为了维持和跟踪用户的状态, 引入了Cookie和Session. Cookie包含了浏览器客户端的用户凭证, 相对较小.Session则维护在服务器, 用于维护相对较大的用户信息.
用通俗的语言,
Cookie简单理解就是钥匙, 每次去服务端获取资源, 需要带着这把钥匙, 只有自己的锁芯(资源), 才能打开.。
但是如果钥匙被别人拿了, 那别人就可以冒充你的身份, 去打开你的锁芯, 从而获取你的信息, 甚至挪用你的资金.这是非常危险的.
XSS攻击:
其就是利用站点开放的文本编辑并发布的功能, 从而造成攻击,就是输入javascript脚本,窃取并投递cookie信息到自己的站点.
比如攻击者以一个普通用户登录进来,然后在输入框中提交以下数据:
有了该session-id,攻击者在会话有效期内即可获得管理员的权限,并且由于攻击数据已添加入数据库,只要攻击数据未被删除,那么攻击还有可能生效,是持久性的。
二:cookie的防劫持的预防
基于XSS攻击,窃取Cookie信息, 并冒充他人身份.
1)方法一:
给Cookie添加HttpOnly属性, 这种属性设置后, 只能在http请求中传递, 在脚本中,document.cookie无法获取到该Cookie值. 对XSS的攻击, 有一定的防御值. 但是对网络拦截,还是泄露了.
2)方法二:
2)方法二:
在cookie中添加校验信息, 这个校验信息和当前用户外置环境有些关系,比如ip,user agent等有关.这样当cookie被人劫持了, 并冒用, 但是在服务器端校验的时候, 发现校验值发生了变化, 因此要求重新登录,这样也是种很好的思路, 去规避cookie劫持.
3)方法三:
3)方法三:
cookie中session id的定时更换, 让session id按一定频率变换,同时对用户而言, 该操作是透明的, 这样保证了服务体验的一致性.
0 0
- Cookie 与session 通熟…
- PHP Cookie与Session的使用与区别
- Cannot send session cache limite…
- Cannot send session cache limite…
- Cannot start session without err…
- ASPNET session客户端与服务…
- PHP cookie和session的分析 下
- PHP cookie和session的分析
- 详说 Cookie, LocalStor…
- Oracle Alerts 与…
- No selector attribute (cookie/he…
- Join语句的on 与 select xxx in…
- 一个米农对 百度 与 谷歌 的评价 …
- 关于v$process与v$session o…
- Read by other session
- 集线器 交换机 路由器 网桥 …
- 【翻译】Iframe, onload 与 docume…
- gcc -c与-l -- lin…
- PHP中使用snoopy采集类进行数据抓取
- vue.js与angular,react等框架分析…
- https协议和Http协议的区别
- 谈谈本地存储利弊Cookie、localSto…
- 详说 Cookie, LocalStor…
- Cookie 与session 通熟…
- 我的编程之路-2
- JavaScript中的Repaint和Reflow用…
- css3的calc()实现自适应布局
- js 作用域的问题
- Java 对象锁和类锁 死锁(多线程synchronized关键字)
- 弹窗(关闭按钮一直保持在底部)布…
- Git 和 SVN 之间的五个基本区别
- svn 常用操作命令