【发布时间】:2011-04-08 09:22:56
【问题描述】:
我有一个包含很多变量的表单,然后它会发送一封电子邮件,而不是使用 filter_var($_POST['var'], FILTER_SANITIZE_STRING); 清理每个 $_POST 值,我追求的是一段更简单的代码。我想出了下面的方法,这似乎可行,因为我相信默认操作是FILTER_SANITIZE_STRING,但我只是想知道人们的意见是什么,如果这不是好的做法,也许你可以告诉我为什么?然后将 $_POST 值单独嵌入到新变量中,因此我只会在开始时使用 array_map 来清理所有内容...
$_POST = array_map('filter_var', $_POST);
谢谢你的回复,给你更多的信息,基本上:
我在一个表单中有 20-30 个输入字段正在被捕获, 然后将数据显示给用户以检查他们的输入, 然后清理变量, 然后向用户发送一封电子邮件 然后最后将详细信息输入到数据库中。
目前我在发送电子邮件之前使用上述 array_map 函数以及电子邮件地址上的 FILTER_SANITIZE_EMAIL 进行消毒,然后在插入数据库之前使用 mysql_real_escape_string() 转义输入。没有进入准备好的陈述等。你认为我应该做些什么额外的吗?再次感谢!
【问题讨论】:
-
清理字符串,这是一个有用的函数 - stackoverflow.com/questions/3126072/…
-
@feela 这个问题是针对 POST 和 GET 的——不是一般的数组
标签: php arrays sanitization