我正在寻找有关使用 cookie 为网站创建登录页面的简短教程。
每个用户都有一个username
和一个password
。
我应该在 cookie 中同时保存 theusername
和 the吗?password
还是username
可能就足够了?
恶意用户能否以某种方式窃取这些 cookie 并通过授权?
我正在寻找有关使用 cookie 为网站创建登录页面的简短教程。
每个用户都有一个username
和一个password
。
我应该在 cookie 中同时保存 theusername
和 the吗?password
还是username
可能就足够了?
恶意用户能否以某种方式窃取这些 cookie 并通过授权?
将密码存储在 cookie 中不是一个好主意。如果您只存储一个用户名,那么您的系统基本上是完全不安全的。请记住,客户端可以完全控制它发送到服务器的 cookie 的内容。它可以发送它想要的任何用户名。您应该为特定会话创建一个授权令牌(可能具有与之关联的到期时间)并将其存储在 cookie 中。为防止 cookie 被篡改,您应该在服务器上对其进行签名(并加密)并验证签名。
也就是说,正确地做到这一点并不是一件容易的事。不要重新发明轮子。使用您的平台提供的身份验证机制。
在 PHP 中有很多方法可以进行身份验证。只需谷歌一个 http://www.developertutorials.com/scripts/script-details/307067.php
您将希望将用户的密码存储在数据库中,并以某种方式对其进行混淆。PHP 有一个名为 md5() 的内置函数。
这是 php.net 上的指南,可帮助您完成。
http://php.net/manual/en/features.http-auth.php
如果您在掌握这些概念时遇到困难,那么我建议您使用 php 框架。我选择的框架是 cakePHP,它使认证之类的东西变得轻而易举(另一个顶级框架是 Code Igniter)。