如果用户在我的网站上的登录表单中输入密码为密码§1234,则相应的$ _POST变量将包含字符串密码\ xc2 \ xa71234 。然后对该字符串进行哈希处理,并与数据库中已有的密码哈希进行比较。
这通常不会成为问题,因为这种转义将在注册和登录阶段发生,因此仍然会匹配数据库中的哈希。但是,我的站点允许通过桌面API进行登录,并且此API在散列之前正确解释字符串而不使用转义字符。因此桌面哈希不匹配,因此用户无法登录。
我知道这个主题有很多线程,但我找不到任何处理我的问题的解决方案,这可能与语法是\ xc2 \ xa7而不是U + 00A7的事实有关
最简单的解决方案当然是在桌面上逃避它,但我宁愿解决问题而不是让一切都同样不正确。更新服务器也比发布多个应用更新更容易。