2

从 facebook(使用 facebook 登录)返回时,我收到“您提交的 URI 包含不允许的字符”的错误消息。

我已将 allowed_uri_chars 设置如下:$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?=';

我的网址是:http://www.example/login?state=460f0c9e013ecc3fcbeeas9592ba2cf2e&code=AQDWuAZtPI3UK6vZVL8NL5h0LE28z1jdMRtAbFVjB0IUM7P5WsGFijwlgmzGGZWM37TG0tnCeD8YD-bqCKxilATkyJpiE6UdXhdN0s_s_25S93JRcGyF3inDvLXkadlB6gobStlkguwFlCbaMxV3eWRfo32ExGlN4Mb6OyU2PnWAoRYchG9it0q1KQm3D0N1gSY5_g#_=_

当我在配置中更改 allowed_uri_chars 时,如下所示:

$config['permitted_uri_chars'] = '';

我得到以下错误:

未找到您所请求的页面。

4

2 回答 2

4

欢迎来到 StackOverflow!

permitted_uri_chars是 CodeIgniter 在你的 URI 中接受的字符。直接来自上面的文本块,在config.php

这使您可以使用正则表达式指定允许的字符 | 在您的网址中。当有人试图提交一个不允许 | 的 URL 时 字符,他们将收到警告消息。

留空以允许所有字符——但前提是你疯了。

如果要允许 base64 哈希,则需要添加 +=。改成:

$config['permitted_uri_chars'] = '+=\a-z 0-9~%.:_-';

于 2012-05-01T16:30:34.977 回答
0

而不是http://www.example/login?state=460f0c9e013e .... 等

尝试

http://www.example/login/?state=460f0c9e013e ....等

URL 后面有一个斜杠。它对我有用

于 2015-07-10T20:46:28.313 回答