【发布时间】:2015-05-12 22:32:41
【问题描述】:
我正在使用 CodeIgniter 和 Ion Auth 为客户开发一个定制的 Web 系统。到目前为止一切都很好,但是我刚刚遇到一个问题,如果我尝试设置带有 & 符号的密码,该用户将无法再登录系统。
起初我认为这个问题可能与字符编码有关,因为我使用文字字符串手动设置密码,但是如果我直接从 HTML 表单中获取输入,也会发生同样的情况。我没有更改 Ion Auth 中的任何加密/哈希设置,只有站点标题、默认用户组和用于用户名的表属性。
我正在使用 CodeIgniter 3 和 Ion Auth。如果您需要更多信息,请告诉我。
你知道这里发生了什么吗?
【问题讨论】:
-
我怀疑输入类和允许的字符。请参阅this 答案,但不要破解核心文件。相反,在核心中创建 MY_Input.php。
-
@Tpojka 感谢您的评论。每次我尝试向正则表达式添加星号时,它都会中断,即使我转义它或使用 preg_quote()。正则表达式是什么?
-
我认为你应该重新开始,然后看看哪里出了问题。因为我刚刚在 ion auth 中尝试了带星号(Shift+8)的密码,并且它可以正常工作。另外,我没有对 Input 类进行任何更改。
-
@Tpojka 这就是我通常会做的,但不幸的是系统实际上正在使用中,所以这实际上只是最后的手段!这就是我来这里的原因。
-
我的意思是我无法重现错误,因为 Ion Auth 与密码中的星号完美配合。首先,我的评论是在实际检查之前,但只是我的逻辑流程。
标签: php codeigniter passwords