2009-01-05 28 views
15

我知道滚动您自己的用户身份验证脚本的风险,但我也谨慎使用似乎没有被主动维护的软件包:current version of PEAR LiveUser差不多一岁了。积极维护用于用户认证的PHP库吗?

请推荐(并争辩的情况)一个积极维护的用户认证库,可以集成到现有的Web项目中。它应该理想地支持各种角色 - 匿名用户,注册用户和各级管理员。

+2

推出自己的系统并不是一个坏主意。只要确保你的系统*是一个好的*。这确实意味着数月的研究和仔细的思考,但可以完成,你会学到很多东西。或者如果你没有时间,那么找到别人的。但如果你不知道如何创建自己的...你怎么知道别人的系统有多好? :) – 2012-03-27 12:59:58

+0

您可能想看看https://github.com/delight-im/PHP-Auth,它既是框架不可知的,也是与数据库无关的。 – caw 2016-09-21 05:26:35

回答

5

它看起来像我PEAR并没有太大的改变,因为它是稳定的。我不会害怕使用它。

6

这听起来像你想要的是一个用户控制库,而不是一个认证库。

例如,在Zend Framework有两类:Zend_Auth(其处理用户身份验证:登录(例如simple database tablesOpenID))和Zend_Acl(它处理事物的用户接入侧)。

我非常喜欢ZF类 - 我没有尝试过在ZF项目之外使用它们,但大多数类都可以试试。即使你决定自己创建,他们也可以作为参考。

-3

当使用md5(); 将密码存储在mysql数据库的表中。

请记住,从登录表单中检查输入的密码时,需要执行相同的步骤,以避免数据库中出现的密码。

哈希生成函数的另一个例子是

SHA1();

ü可以总是包裹2层的功能和建立一个简单的散列生成方法

$字符串= MD5(SHA1($字符串));

return $ string; //返回的哈希值

也可以使用salt()函数,它允许您自己的“公钥”范围。

salt(“mystring123”,“jz”);

+1

做`md5(sha1($ string))`只会增加碰撞率并使你的应用程序不太安全。您应该只使用sha1,或者如果这还不够,请尝试sha 256或sha 512算法 – Petah 2010-10-26 11:46:49