“你提交的URI中的字符仍然不允许”。在CodeIgniter登录Facebook

时间:2012-12-11 02:09:13

标签: facebook codeigniter uri

我搜索了所有帖子,我发现他们遇到了同样的错误。大多数评论和反馈已成功修复,但当我做我的时,它确实不起作用:/请帮帮我:

我已经更改了system/application/config/config.php文件:

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

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

在此文件夹system/libraries/URI.php文件中:

if ( ! preg_match("|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i", $str))

if ( ! preg_match("|^[".($this->config->item('permitted_uri_chars'))."]+$|i", rawurlencode($str)))

仍然是“您提交的URI已禁止使用字符”。存在。

2 个答案:

答案 0 :(得分:3)

这是我为支持Facebook的应用程序提供的内容

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

我见过有成功的人也支持下面的内容,但是我的仍然设置为FALSE

$config['enable_query_strings'] = TRUE;

答案 1 :(得分:3)

我今天遇到类似的问题,当我们升级到PHP 5.3时,事实证明解决方案是从_filter_uri()中的URI.php更新此行

if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))

使用CodeIgniter repository version中的这一新行:

if ( ! preg_match('|^['.str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-')).']+$|i', $str))