我有一个包含很多变量的表单,然后发送一封电子邮件,而不是$_POST用filter_var($_POST['var'], FILTER_SANITIZE_STRING); 一个更简单的代码片段来清理每个值.我想出了下面的内容,这似乎有效,因为我相信默认操作是FILTER_SANITIZE_STRING,但我只是想知道人们的意见是什么,如果这不是好的做法,也许你可以告诉我为什么?$_POST然后将这些值单独嵌入到新变量中,因此我只会在开始时使用array_map来清理所有内容......
$_POST = array_map('filter_var', $_POST);
Run Code Online (Sandbox Code Playgroud)
感谢您的回复,为您提供更多信息,基本上:
我在一个表单中有20-30个输入字段被捕获,然后数据显示给用户检查输入,然后对变量进行清理,然后向用户发送电子邮件,最后将详细信息输入到数据库中.
目前我正在使用上面的array_map函数清理,以及在发送电子邮件之前使用电子邮件地址上的FILTER_SANITIZE_EMAIL,然后在插入数据库之前使用mysql_real_escape_string()转义输入.没有准备好的陈述等等.你认为我应该做什么吗?再次感谢!
我正在开发一个 WordPress 插件,需要清理该函数中的 POST 数据。sanitize_text_field() 是最好的方法吗?另外,将其添加到下面的代码中的正确方法是什么?
header( 'Content-Type: application/json' );
global $wpdb;
$session_id = $_POST['session_id'];
$procedure_name = $wpdb->prefix . 'get_geojson_route';
$gps_locations = $wpdb->get_results($wpdb->prepare(
"CALL {$procedure_name}(%s);",
array(
$session_id
)
));
Run Code Online (Sandbox Code Playgroud) 是否可以通过简单的操作来清理PHP中一个方法发送的所有输入
$var = mysql_real_escape_string($_POST);
Run Code Online (Sandbox Code Playgroud)
然后访问$ var的元素,因为我有$ _POST?