首页博客网络编程
如何使PHP清理输入,处理数据和处理查询
摘要 高级过滤器使 PHP 开发人员更容易处理数据。例如,更容易使PHP清理来自外部源的输入。 您会发现它们在处理查询时非常有用。 当你使PHP清理输入时,你可以尽可能具体地说明你想要删除的字符。 filter_var工作原理与PHP函数类似。filter_input

如果你读了关于PHP过滤器的第一课,你已经知道为什么你需要关心PHP过滤以及它是如何工作的。使 PHP 清理输入意味着为您的 Web 应用程序提供额外的保护层,因为外部数据有时会使其面临风险。

在本教程中,我们将更深入地探讨并了解有关高级过滤器的更多信息。您将发现它们如何帮助 PHP 清理您的 Web 应用程序收到的输入。它们还可以使 PHP 验证 URL 地址、识别 QueryString 并理解代码中使用的字符的 ASCII 值。

内容

PHP 清理输入:主要提示

  • PHP 提供了用于处理数据的高级过滤器。

  • PHP 输入清理在处理查询时尤为重要。

使用 filter_var()

下面的示例用于检查变量是否实际上是整数,并且值是否介于 10 和 100 之间:filter_var()

复制

<?php
  $int = 185;
  $min = 10;
  $max = 100;  if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {    
    echo("Variable isn't valid");
  } else {    
    echo("Variable is valid");
  }?>

注意:使用 PHP 函数也可以filter_input类似的结果。

IPv6 地址验证

现在,在此示例中,用于确定是否为正确的 IPv6 地址:filter_var()$ip

复制

<?php
  $ip = "2012:0db9:89a4:09d3:1919:8a9e:0390:7394";  if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {      	
    echo("$ip is indeed a valid IPv6 address");
  } else {      	
    echo("$ip is no valid IPv6 address");
  }?>

网址验证

下面的示例使用调用的函数来使 PHP 验证 URL 地址。基本上,这意味着确定是否是包含 QueryString 的 URL:filter_var()$url

复制

<?php
  $url = "https://www.bitdegree.org/learn/";  if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {      	
    echo("$url is a valid URL address");
  } else {     echo("$url is not a valid URL address");
  }?>


删除字符

在下面的示例中,用于 PHP 清理字符串(换句话说,从中删除任何特殊字符)。它从字符串中删除检测到的每个 HTML 标记,以及 ASCII 值高于 127 的所有字符:filter_var()

复制

<?php
  $string = "<h2>H3110 W0r1dÆØÅ!</h2>";
  $filteredString = filter_var($string, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);  echo $filteredString;?>

PHP 清理输入:摘要

  • 高级过滤器使 PHP 开发人员更容易处理数据。例如,更容易使PHP清理来自外部源的输入。

  • 您会发现它们在处理查询时非常有用。

  • 当你使PHP清理输入时,你可以尽可能具体地说明你想要删除的字符。

  • filter_var工作原理与PHP函数类似。filter_input




声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/166

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位