2010-10-11 19 views
0

我正在寻找关于使用cookie为网站创建登录页面的简短教程。如何使用cookie建立登录页面?

每个用户有一个usernamepassword

我应该在cookie中保存usernamepassword吗?或者只是username可能够了?

恶意用户能否以某种方式窃取这些cookie并通过授权?

+0

cookies?客户端中的Cookie是客户端计算机公开的。所以存储用户名和密码是不合适的。我认为你更好地理解登录过程。而且,你在服务器端使用什么样的语言? – 2010-10-11 04:26:01

+0

@Alex:服务器端语言是PHP。你知道创建登录页面的好教程吗? – 2010-10-11 04:30:07

回答

2

将密码存储在cookie中不是一个好主意。如果你只存储一个用户名,你的系统基本上是不安全的。请记住,客户端完全控制它发送到服务器的cookie的内容。它可以发送任何想要的用户名。您应该为特定会话创建一个授权令牌(可能与其相关的过期时间)并将其存储在cookie中。为了防止篡改cookie,您应该在服务器上签名(并加密)它并验证签名。

这就是说,正确地做这件事并不是一件容易的事。不要重新发明轮子。使用您的平台提供的身份验证机制。

+0

你是什么意思'使用你的平台提供的认证机制?我从头开始建立一个网站... – 2010-10-11 04:32:29

+0

@Misha:你说你在使用PHP。而不是从头开始实现自己的认证系统寻找一些已经存在的类,例如:http://pear.php.net/manual/en/package.authentication.auth.intro.php有关PHP身份验证的简单教程,请参阅http://insanesecurity.info/blog/8-tips-for-a-secure-login-scriptadmin-panel – 2010-10-11 04:39:16

0

您将要将用户的密码存储在数据库中,并以某种方式对其进行混淆。 PHP有一个名为md5()的内置函数。

下面是一个关于php.net的指南,以帮助您完成。

http://php.net/manual/en/features.http-auth.php

I'f您无法把握这些概念,那么我建议你通过PHP框架的工作。我选择的框架是cakePHP,它使认证变得轻而易举(另一个顶级框架是Code Igniter)。

相关问题