我试图在我的Codeigniter网址中允许&
。目前我收到Disallowed Key Characters.
错误。
我尝试扩展Input.php文件以允许&
函数中的_clean_input_keys()
- 但它似乎已经太晚了,因为只有amp;
进入提供字符串。
有谁知道我怎么能允许这个?通过这样做,我可能会暴露我的应用程序是否存在任何安全漏洞?
答案 0 :(得分:1)
虽然我对这个答案并不是特别满意,并且欢迎采用更好的方法,但我必须紧急开展工作,所以我想出了这个黑客。
我延长了Input.php
以及它在$_GET
参数之前循环的地方,就在它调用之前:$_GET[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);
我添加了这个:
if (strpos($key, 'amp;') !== false) {
$key = str_replace('amp;', '', $key);
}
此时 &
已从密钥中删除,因此我只是在尝试清除数据之前删除amp;
。