$ _COOKIE安全

时间:2013-02-05 21:18:20

标签: php setcookie

所以我在我正在开发的开发项目上创建登录脚本时发现了一个很大的“禁忌”。

在设置Cookie时,对于user_ID和加密密码,我注意到在Google Chrome(或Mozilla Firefox)上使用简单的扩展程序,我能够将用户ID Cookie编辑为其他用户的用户ID,并且访问该网站就像我是他们。

有没有人知道我需要走哪条路线所以这不会发生?如果需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:1)

如果您不在服务器上验证加密密码,为什么要存储加密密码?如果用户发送的用户ID但密码不匹配,则不允许他们访问该站点。

在任何情况下,您都应使用$_SESSION变量来保存登录详细信息等信息。这样,用户只能看到会话ID。虽然理论上可以猜测其他人的会话ID(或窃取它 - 会话劫持),但您可以添加其他层,例如要求用户代理和IP地址保持不变 - 这取决于需要多少安全性。

答案 1 :(得分:0)

如果您需要让人们登录的时间长于浏览器会话,您应该将用户数据等内容存储在数据库中,然后创建一个与db行ID匹配的cookie。只是FYI不使用自动递增ID