gpt4 book ai didi

php - 在 php 中清理整个 $_POST 数组的好方法是什么?

转载 作者:IT王子 更新时间:2023-10-29 00:19:16 26 4
gpt4 key购买 nike

我有一个包含很多变量的表单,然后发送电子邮件,而不是使用 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() 转义输入。没有进入准备好的陈述等。你认为我应该做任何额外的事情吗?再次感谢!

最佳答案

只需使用 filter extension 中的 filter_input_array() .

/* prevent XSS. */
$_GET = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);

这将清理您的 $_GET$_POST

关于php - 在 php 中清理整个 $_POST 数组的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com