什么是最好的身份验证脚本?

时间:2010-02-22 23:19:45

标签: php security oop authentication user-management

我打算制作一些动态的PHP网站,我需要一个免费的身份验证系统,允许我为这些网站的管理员创建控制面板。 它应该包含:

  • 记住密码
  • 忘记密码
  • 每个特定时间间隔的最大登录尝试次数
  • 用户管理

感谢。

4 个答案:

答案 0 :(得分:3)

一些安全说明: 为了避免许多属于认证和授权的问题 OWASP webapp攻击分类列表的组,使用用户身份验证 子系统已经在您选择的Web框架中实现。他们很可能已经 书面安全代码,涵盖了许多与身份验证和会话相关的问题 可能比你自己推出的任何东西都安全得多。

如果你绝对,积极地,必须推出自己的身份证明,或者如果你想评估另一个身份;那么你/他们必须遵循这些规则。

  • 在会话cookie中使用适当的随机且不可取的会话ID。
  • 不允许强制使用会话ID。
  • 当更改权限或凭据时(例如,用户已升级到更高的安全性,用户已更改其密码)   立即使会话无效并重新开始。
  • 提供注销功能,并在注销时使会话无效。
  • 将Cookie设置为HttpOnly
  • 不使用后始终过期,并且不要通过将用户重新连接到旧的http会话来实现“让我登录”。
  • 确保2个会话不能同时具有相同的会话ID
  • 确保在会话失效时销毁所有会话数据。一个新用户出现,可能恰好被分配了之前使用过的会话ID。此新会话不能访问先前根据该会话ID设置的会话数据。

答案 1 :(得分:1)

有很多脚本可以做到这一点,如果你认真对待PHP,你应该能够编写自己的身份验证脚本。

有足够的资源可以帮助您启动,结帐或只是谷歌' php身份验证'(或类似的东西)。

http://net.tutsplus.com/videos/screencasts/how-to-build-a-login-system-for-a-simple-website/ http://www.devarticles.com/c/a/MySQL/PHP-MySQL-and-Authentication-101/

然而,你应该总是带着一些盐的在线资源,许多人不会涉及用户管理的安全方面,如XSS等

您可能还想查看一些内置了身份验证库的PHP框架,例如CakePHPZend Framework

答案 2 :(得分:1)

没有最佳,并且没有可以作为脚本的严肃解决方案。身份验证是一项全局策略,因此必须与整个Web站点集成。要么自己编写代码,要么使用实现它的框架。

如果您开始编写自己的实现代码,请记住您的第一次尝试只能用于非敏感数据,因为它们很弱(但对于休闲网站来说足够了)。

Stoosh有一些你可能想要遵循的好的线索。

请记住,这并不像看起来那么微不足道,显而易见的解决方案可能不那么安全。但同样,你可能不需要CIA风格的安全性,所以不要压力和享受学习编程

答案 3 :(得分:0)

作为初学者,我建议谷歌搜索教程,并考虑使用像Zend Framework这样的PHP框架。

身份验证是90%的初学者希望使用预先打包的解决方案,但其中没有一个是足够的。

编写自己的内容将改善您作为开发人员并教您很多核心Web开发术语和技术,例如:

  • XSS
  • 加密安全散列
  • HTTPS / SSL
  • CSRF