我正在为我正在从事的项目使用PHP和codeigniter框架,并且需要一个用户登录/身份验证系统。
现在,我宁愿不使用SSL (这可能有点过分,而且我使用的是共享主机,这会使我感到沮丧)。我已经考虑过使用openID,但是我决定,由于我的目标用户通常不是技术人员,它可能会吓跑用户(更不用说它需要镜像登录信息等等)。我知道我可以编写基于哈希的身份验证(比如sha1),因为没有传递敏感数据(我会比较敏感级别和堆栈溢出级别)。
尽管如此,在制定自定义解决方案之前,最好知道是否有任何好的库或包是您用来提供半安全身份验证的?我是新的代码点火器,但一些与它很好的集成将是可取的。有什么想法吗?(我愿意接受对我的方法的批评,也愿意接受一些建议,为什么我会疯狂地不使用ssl)。提前谢谢。
更新:我已经研究了一些建议。我很想尝试zend-auth,因为它似乎得到了良好的支持和良好的建造。有没有人有使用zend在代码点火器方面的经验(它太大了吗?)你有一个很好的参考资料与CI集成吗?我不需要任何复杂的认证schemes..just,一个简单的登录/注销/密码管理授权系统。
而且,dx_auth看起来也很有趣,但是我担心它太多才多艺了。还有人在这方面取得了成功吗?
我意识到我还想以类似于stackoverflow..so的方式管理来宾用户(即不登录/注册的用户)--任何具有此功能的建议都将是很棒的。
发布于 2009-07-20 12:23:10
我发现身份验证在Codeigniter方面很好,以前也使用过它。它无疑是Codeigniter最完整的身份验证库。
为了改变它,我需要做一些事情,所以为了我的目的,我用几个函数扩展了它们的用户类(它们的一些函数没有完全按照您的预期..)。以下是我所做的一些自定义的部分:
$CI = &get_instance();
$CI->load->model("dx_auth/users");
/**
* For most things, try and use the dx_auth models,
* because it's already done, and some stuff is more
* annoying to figure out than might be expected.
*
* For anything site-specific, use this model instead.
*
*/
class UserModel extends Users {
/**
* Sometimes when dx_auth sucks, you have to compensate
* functions that return useful results.
*
* @param int $id id of user to check if banned
* @return int $banned returns the result (0 or 1)
*/
public function is_banned($id) {
$query = "SELECT banned FROM users WHERE id=".(int)$id;
$result=$this->db->query($query);
$row = $result->row_array();
return $row['banned'];
}
}发布于 2009-07-20 12:11:44
我用Zend_Auth。但总的来说,我使用。据我所知,它与CI融合得很好。对于Zend_Auth,我使用一个Db_Table适配器和一个全局salt的SHA1。我认为这对很多目的来说都足够了。
发布于 2009-07-20 19:48:26
看起来,如果你想让zend在代码点火器中工作,那么这可能正是你想要的。如果您发现zend& codeigniter是一个很好的混合体,请再次更新您的问题。
我个人认为对dx_auth进行黑客攻击是很痛苦的,特别是因为它缺乏文档,如果听起来很有希望的话,我很乐意尝试一下其他的东西。
https://stackoverflow.com/questions/1153117
复制相似问题