我已经看到了其他几个与此相似的问题,但我无法找到解决我具体问题的方法。
我收到错误The URI you submitted has disallowed characters.
当我发送以下请求时:
http://myrul/login/createNewPassword/reset_token/pwd70xkainz500d57311rli/username/contact%40email.com
现在我已经确定%
中的username
是触发错误的内容,但我的配置文件允许这样做。
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
我虽然这应允许在网址中允许%
。如果我将配置设为
$config['permitted_uri_chars'] = '';
工作正常。配置字符串不正确吗?或者我应该使用的字符串的另一种变体是什么?
答案 0 :(得分:3)
contact%40email.com
实际上是 contact@email.com ,但urlencoded
。
因此,您发送的不允许的字符是@
,而不是%
。
如果您在permitted_uri_chars
添加“@”,那么您应该没问题。
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-@';