CodeIgniter:数据库输入的$ _POST已经清理了吗?

时间:2010-03-26 17:40:49

标签: php codeigniter

这是我的第一个CI应用程序,我想知道$ _POST是否干净,我可以直接将数据插入数据库吗?

我启用了$config['global_xss_filtering'] = TRUE;

谢谢。

5 个答案:

答案 0 :(得分:11)

不,但是没有参数调用的$this->input->post()将返回通过XSS过滤器传递的所有项目。

此外,如果您正在使用它,codeigniter的ActiveRecord文档说明如下:

  

它还允许更安全的查询,   因为值已转义   由系统自动

答案 1 :(得分:2)

如果您使用CodeIgniter's Active Record访问数据库,则无需担心转义值,因为它会为您处理。

答案 2 :(得分:1)

不,因为SQL由非常标准的字母数字字符(the documentation)组成。您应该至少输入您的数据并使用php的mysql_real_escape_string()the documentation)。

这可以防止SQL注入,而XSS过滤则不会。

答案 3 :(得分:0)

简答:不 答案很长:也许,如果你使用更安全的数据库方法

如果你使用参数化函数(例如:pgSQL有pg_query_params()),那么你不需要清理数据,你只需要在连接SQL时清理数据,这通常被认为是低级编码。 / p>

答案 4 :(得分:0)

看起来当前版本的CodeIgniter(2.0.0)......已经发生了变化......

$this->input->post不起作用

并在启用$_POST时自动清除global_xss_filtering