Ion Auth 不允许包含与号的密码



我正在使用CodeIgniter和Ion Auth为客户端开发一个定制的web系统。到目前为止一切都很好,但我刚刚遇到一个问题,如果我试图在中设置带有"与"符号的密码,该用户将无法再登录到系统。

起初,我认为这个问题可能与字符编码有关,因为我使用文本字符串手动设置密码,但如果我直接从HTML表单中输入,也会发生同样的情况。我没有更改Ion Auth中的任何加密/哈希设置,只更改了网站标题、默认用户组和用于用户名的表属性。

我正在使用CodeIgniter 3和Ion Auth。如果您需要更多信息,请告诉我。

你知道这里发生了什么吗?

我刚刚发现了这个问题,这让我觉得有点傻,但我想我应该让其他人知道解决方案,因为如果我遇到了这个问题的话,我相信其他人一定会遇到。

问题与Ion Auth无关,而是与我错误地使用CodeIgniter函数有关。为了从表单中获取密码,我使用了set_value('password),它实际上转义了HTML的值,如本文所述。显然,通过使用echo打印密码(这就是我试图调试的方式),我看不出原始字符串有任何更改,但它对哈希产生了影响。

解决方案是简单地使用$this->input->post('password')来获取密码,因为此函数不会更改原始输入。

希望这能帮助到别人。这个故事的寓意是在开始使用任何框架之前先熟悉它,并彻底阅读文档。

最新更新