适当的表格输入卫生

时间:2013-04-21 02:45:20

标签: php jquery forms codeigniter input-sanitization

我有使用

从表单收集的表单字段
 var dataString = $("form").serialize();

然后我将其作为dataType“html”

发送给我的控制器

我的dataString的var_dump看起来像这样(到目前为止,但它将包含电子邮件地址,选择选项等)

array(3) {
  ["username"]=>
  string(5) "mikey"
  ["firstname"]=>
  string(4) "tes%"
  ["lastname"]=>
  string(6) "tester" }

我的问题如下:在将数据发送到我的模型之前,我应该使用的形式卫生的正确方法是什么?我知道我需要删除特殊字符之类的东西,是否有一些我应该使用的预包装类?

我是否需要像

一样打破我的数据
  $username =  trim(Array[0]) ; 

2 个答案:

答案 0 :(得分:1)

CodeIgniter的xss_clean功能应该足以满足大多数用途。

编辑:感谢@ Starx的回答,指出您可以通过在$config['global_xss_filtering'] = TRUE;文件中设置config.php来自动为您调用此功能。

另请查看表单验证类。这是一个例子: http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#preppingdata

另外,由于您是通过AJAX发送表单数据,我只想提一下,在Javascript中进行输入清理是相当无用的,因为它可以绕过它,所以在服务器端执行它,因为它似乎是你的无论如何计划去做,绝对是要走的路。

答案 1 :(得分:1)

application/config/config.php

上启用XSS过滤
$config['global_xss_filtering'] = TRUE;