使用 PHP StripTags 和 MysqlRealEscape 数组

发布于 2024-10-15 01:46:56 字数 725 浏览 5 评论 0原文

我想从多个字段中删除 HTML 代码。所以我使用:

extract($_POST)

然后插入表中。

我不会像这样删除每个字段:


$user  = strip_tags($user);
$email = strip_tags($email);
.....

有什么解决方案可以删除我的 extract($_POST) 数组吗?

与 mysql_real_escape_string() 相同

编辑 1 我不会使用

foreach($_POST as $key => $value){
  $_POST[$key] = mysql_real_escape_string(strip_tags($value));
}

我想使用短变量:

$name, $email

not:

$_POST['name'] , $_POST['email']

并且没有 extract() ,因为它已被弃用。

编辑2解决方案是:

foreach($_POST as $key => $value){
  $$key = mysql_real_escape_string(strip_tags($value));
}

I want to strip HTML code from multiple fields. So I used:

extract($_POST)

Then an insertion into the table.

I won't strip each field like:


$user  = strip_tags($user);
$email = strip_tags($email);
.....

There is any solution to strip my extract($_POST) array?

The same for mysql_real_escape_string()

EDIT 1
I won"t use

foreach($_POST as $key => $value){
  $_POST[$key] = mysql_real_escape_string(strip_tags($value));
}

I want to use the short variable:

$name, $email

not:

$_POST['name'] , $_POST['email']

And without extract() as is deprecated.

Edit 2 the solution is:

foreach($_POST as $key => $value){
  $key = mysql_real_escape_string(strip_tags($value));
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

与酒说心事 2024-10-22 01:46:56

您可以使用 array_map() 为每个元素指定一个回调函数给定的数组。

$_POST = array_map("strip_tags", $_POST);

编辑:也许您应该指定为什么要尝试转义用户输入。例如,PHP 有特定的辅助工具来转义将添加到数据库中的值以及将在页面上显示的值。因为前者可能导致 SQL 注入,后者可能导致 XSS 漏洞。

You can use array_map() to specify a callback function to each element of a given array.

$_POST = array_map("strip_tags", $_POST);

Edit: Maybe you should specify why you're attempting to escape user input. For example, PHP has specific aids for escaping values that will be added to the database and also for values that will be displayed on the page. As the former could result in an SQL injection and the latter an XSS vulnerability.

梦一生花开无言 2024-10-22 01:46:56

我猜你想要这段代码

foreach($_POST as $key => $value){
   $key = strip_tags($value);
}

//The insertion here
insertion();   

Old

foreach($_POST as $key => $value){
   $_POST[$key] = strip_tags($value);
   }

extract($_POST);

//The insertion here
insertion();

之后你就有了所有的帖子字段 strip_tagged

I guess you want this piece of code

foreach($_POST as $key => $value){
   $key = strip_tags($value);
}

//The insertion here
insertion();   

Old

foreach($_POST as $key => $value){
   $_POST[$key] = strip_tags($value);
   }

extract($_POST);

//The insertion here
insertion();

After that you have all the post fields strip_tagged

遗弃M 2024-10-22 01:46:56

使用 PHP 提供的过滤函数,特别是在这种情况下,您将对 filter_input_array 感兴趣:

$filtered = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRIPPED);

Use the filtering functions that PHP provides, specifically in this case you would be interested in filter_input_array:

$filtered = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRIPPED);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文