CodeIgniter:对整个$ _POST数组使用get_post和XSS过滤

时间:2010-01-28 14:34:45

标签: php codeigniter xss

是否比

更简单
foreach($_POST as $x=>$y){
  $arr[$x] = $this->input->get_post($y, TRUE);
}

只需使用CI的XSS过滤器清除整个$ _POST数组。看看输入库,似乎get_post()只接受一个单独的变量,而不是能够清理整个数组,然后返回数组。

3 个答案:

答案 0 :(得分:7)

不确定你是否想要全局,但如果你这样做......来自ze手册:

如果您希望过滤器每次遇到POST或COOKIE数据时自动运行,您可以通过打开application / config / config.php文件并设置它来启用它:

$config['global_xss_filtering'] = TRUE;

答案 1 :(得分:2)

$this->input->post(NULL, TRUE);

返回所有带有XSS过滤器的POST项目

$this->input->post();

返回没有XSS过滤器的所有POST项目

答案 2 :(得分:1)

在某种意义上,所选择的答案是正确的,但提供的信息并不是CI中XSS过滤这一实际问题的合适答案。

通过以下方式进行评论:

http://ponderwell.net/2010/08/codeigniter-xss-protection-is-good-but-not-enough-by-itself/

在所有输出上输入htmlspecialchars / htmlentities / urlencode或回家。 CI的XSS过滤器使用了一种过时且破碎的黑名单技术,该技术无法进行大量的XSS攻击。

编码并验证。总是