我正在尝试编写一个具有用户帐户的网站。除了密码和电子邮件地址之外,没有太多敏感信息。但我真的不明白我在做什么;我一边走一边破解它。关于安全性或任何其他重要细节,我有什么需要注意的吗?
4 回答
Sarfraz Ahmed 提供了一些很好的阅读资源。您还可以使用 PHP 类进行用户身份验证,有很多。我自己在 sourceForge http://uflex.sourceforge.net上建立了一个名为 userFlex 的项目
userFlex has a decent documentation and it does more than just login users; it does registration and field validations, password resets, confirmation codes for registrations, handles sessions and more like autologin.
Again im just putting up userFlex as an example, you could also look into http://www.phpclasses.org/browse/file/5269.html or many other good Classes in PHPclasses.org.
使用JanRain Engage(以前的 rpxnow.com)进行身份验证。他们的解决方案允许人们使用他们现有的来自 Google、Yahoo、Microsoft、Facebook 和其他公司的凭据登录您的网站。作为身份验证过程的一部分,其中许多提供商会提供有效的 OpenID,并且通常会提供有效的电子邮件地址。
如果您使用 JanRain,则只需存储用户的电子邮件地址或 OpenID,而不必存储密码或密码哈希。此外,您不必实现任何密码重置功能,或“忘记我的密码”。此外,您的用户注册功能可能会小得多,因为您使用其所有者提供的有效电子邮件地址或 OpenID 启动它。
您的应用程序和 JanRain 之间的通信经过身份验证和加密,因此一切都很好且安全。
您必须使用 MD5 php 函数作为密码。保护它的简单方法。还要确保你在 php 中使用 strip_tags,这样别人就不能在你的输入框中执行命令。由于没有任何有意义的数据,我认为您不需要加密任何东西。只要确保登录系统是完美的,并且用户没有登录就没有其他方式访问数据..
Shud 足以用于基本的登录脚本..