我已将CodeIgniter从2.1.4升级到2.2.1。在这个新版本中,我注意到即使我将XSS过滤器设置为false,也会过滤发送到控制器的变量。
$config['global_xss_filtering'] = FALSE;
不幸的是,此过滤会从变量中删除制表符'\t'
。因此,如果我发送带有选项卡的字符串,则选项卡将替换为空格字符。
因为我在一个字符串中发送表格数据(jqgrid)并且我用一个标签区分每一行(并用管道字符区分每一列),现在控制器无法再识别行(管道角色没有被删除btw)
如何禁用此过滤功能?或者如何逃避标签被删除?
答案 0 :(得分:2)
简单解决方案:在system \ core \ Security.php中注释第320行
$str = str_replace("\t", ' ', $str);