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文件中。默认值设置为“自动”