codeigniter中的allowed_uri_chars

时间:2012-05-01 16:14:30

标签: codeigniter codeigniter-url

从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'] = '';

我得到以下错误:

  

找不到您请求的页面。

2 个答案:

答案 0 :(得分:4)

欢迎使用StackOverflow!

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

  

这允许您使用正则表达式指定哪些字符   允许|在您的网址中。当有人试图提交URL时   不允许的他们会得到一个警告信息。

     

留空以允许所有角色 - 但只有在你疯了的时候。

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

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

答案 1 :(得分:0)

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

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

在URL后面加斜杠。它对我有用