我试图允许&
在我的Codeigniter URL的。此刻我得到一个Disallowed Key Characters.
错误。
我尝试扩展Input.php文件以允许&
在_clean_input_keys()
函数中-但似乎已经太晚了,因为只有amp;
进入提供的字符串。
有人知道我怎么能允许这个吗?是否有任何安全漏洞,我可能会暴露我的应用程序通过这样做?
虽然我对这个答案不是特别满意,并欢迎一个更好的方法,但我必须尽快使这个工作,所以我想出了这个hack。
我扩展了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;
试图清理数据之前删除它。