Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 容许及;amp;在CodeIgniter URI中_Php_Codeigniter_Uri - Fatal编程技术网

Php 容许及;amp;在CodeIgniter URI中

Php 容许及;amp;在CodeIgniter URI中,php,codeigniter,uri,Php,Codeigniter,Uri,我正在尝试允许&在我的Codeigniter URL中。目前,我得到了一个不允许的关键字符。错误 我尝试扩展Input.php文件以允许&,但似乎已经太晚了,因为这里只有amp将进入提供的字符串中 有人知道我怎么能允许吗?这样做是否会使我的应用程序暴露出任何安全漏洞?虽然我对这个答案不太满意,也不欢迎更好的方法,但我必须尽快解决这个问题,所以我想出了这个方法 我扩展了Input.php,它在调用$\u GET参数之前循环:$\u GET[$this->\u clean\u Input

我正在尝试允许
&在我的Codeigniter URL中。目前,我得到了一个
不允许的关键字符。
错误

我尝试扩展Input.php文件以允许
&\u clean\u input\u keys()
函数中执行code>,但似乎已经太晚了,因为这里只有
amp将进入提供的字符串中


有人知道我怎么能允许吗?这样做是否会使我的应用程序暴露出任何安全漏洞?

虽然我对这个答案不太满意,也不欢迎更好的方法,但我必须尽快解决这个问题,所以我想出了这个方法

我扩展了
Input.php
,它在调用
$\u GET
参数之前循环:
$\u GET[$this->\u clean\u Input\u keys($key)]=$this->\u clean\u Input\u data($val)我添加了这个:

if (strpos($key, 'amp;') !== false) {
    $key = str_replace('amp;', '', $key);
}

&
此时已从键中删除,因此我只需删除
amp
在它尝试清理数据之前。

是否在config.php中添加了允许的uri字符?是的,我尝试添加了
&
@mcryan如果您能够解决此问题,我也面临类似的问题issue@MahavirMunot我设法解决了这个问题,但不得不制造一个令人讨厌的黑客。我现在就把它作为答案发布。@mycryan我通过设置$config['uri_protocol']='PATH_INFO'修复了这个问题;在config/config.php文件中。默认值设置为“自动”