当前位置:  开发笔记 > 编程语言 > 正文

如何将JavaScript cookie发送到浏览器,以及如何验证它们?

如何解决《如何将JavaScriptcookie发送到浏览器,以及如何验证它们?》经验,为你挑选了1个好方法。

我知道当cookie从服务器发送到浏览器并使用服务器语言设置时,它通过http或ssl或https发生.那么javascript cookie去哪里,一旦脚本:"document.cookie =",在浏览器中执行,以及通过哪个协议/传输方案?



1> 小智..:

浏览器只是在其"cookie jar"中发送所有未到期的HTTP cookie(不是SSL相关!),它与传出的HTTP请求的(可能是路径)匹配:一旦在"cookie jar"中,cookie将自动发送给所有人未来的要求.通过Set-Cookie标头从服务器发送的Cookie会自动添加到"cookie jar"中,但如上所述,Cookie也可以从JavaScript*中添加.在这两种情况下,客户端/浏览器都通过标头将cookie发送服务器Cookie.

这就是为什么像所有用户输入一样,应谨慎对待cookie,并且必须在每次"安全敏感"操作请求上进行备份/验证.一般一个会话cookie被用于通过作为提供这种保护形式一的随机数,因为它们是(或者应该是)那些从来不重复使用,是不可能预测大密码声随机数.

然后,会话cookie/nonce只是查找包含状态的持久存储(通常是数据库),例如"用户ID".它是分离和随机特性的组合,它们阻止客户根据cookie的价值选择自己的"用户ID",但......

..."安全性"是一个复杂的主题,会话cookie 不能防止所有恶意JavaScript,例如使用CSRF或类似的JavaScript ,并且它们不提供针对中间人攻击或窃听的帮助,并且仅在其到期时间内有效对抗重放攻击.验证cookie的另一种(通常被忽视的)方法是使用防篡改验证哈希,例如ASP.NET对视图状态的处理.

盲目使用/信任LoggedInUserIdIsAdministratorcookie的服务器程序确实设计得非常不安全!:)

快乐的编码.


*所有最新的浏览器都支持HTTPOnly cookie,但JavaScript无法读取/覆盖:但是,它们仍可被其他程序欺骗!(有些浏览器最近才获得支持:例如Chrome 12,iOS4,Safari 5.)

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有