我正在尝试为开发中的网站考虑我的用户身份验证系统,并已阅读堆栈溢出和其他地方的许多帖子以了解我的想法。我找到了几个选项,我想知道这个看起来是不是一个不错的起点:
http://php.about.com/od/finishedphp1/ss/php_login_code_6.htm
似乎加密密码并避免一些明显的陷阱。
此外,也许是一个愚蠢的问题,但我想使用身份验证有两个原因: 1.在其他公共页面上为用户提供一些额外的功能。 (想一想页面顶部的“Hello [username]”。) 2.还允许用户访问私人页面。
这两种类型的应用程序(登录=在公共页面上添加内容而不是登录=访问私有页面)依赖于相同的身份验证,对吧?
换句话说,无论我是想做其中一个还是两个都不应该影响我对身份验证的看法,对吗?
如果我通过使用about.com教程来解决问题,请告诉我....
提前致谢。
跟进编辑: 好的,所以about.com教程有一些漏洞。我发现下面有一个更完整的系统似乎使用SHA1加密。这也包含新用户的电子邮件验证和一些其他不错的功能。乍一看,这看起来像是一条可靠的路线吗?
http://www.unlimitedtree.com/topic/1503-tutadvanced-login-member-system-php-tutorial/
答案 0 :(得分:5)
是的,你在寻找麻烦。我强烈要求避免使用about.com方法:
安全是一个复杂的话题。我建议您使用已建立的框架提供的经过良好测试的身份验证和授权解决方案。还要考虑OpenID。
一些PHP框架及其auth组件:
关于你的问题:
换句话说,无论我是想做其中一个还是两个都不应该影响我对身份验证的看法,对吗?
是。您必须区分身份验证和授权。前者可以帮助您识别用户是谁,后者可以帮助您找出允许用户执行的操作。阅读此简短introduction以了解该主题。