很少有语言具有过滤功能。过滤器是编程语言的增值功能之一。这有助于我们在处理之前过滤数据或字符串。现在需要使用它来防止系统中的某些漏洞问题。 PHP 过滤器可用于验证或清理外部输入。 PHP 过滤器是一个扩展,具有我们可以在编码时使用的各种功能和特性。例如,如果我们将表单中的客户端输入作为电子邮件 ID,我们应该在与数据库相关的操作之前对其进行验证或清理。作为编码员或开发人员,我们应该根据我们的业务需求和要求在 PHP 中使用这些过滤器。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
清理和过滤是 Web 应用程序环境中最常见的操作。这是基本语法:
filter_var(variable, filter, options)
这个函数filter_var有3个参数。最后 2 个参数、过滤器和选项是可选的。第一个是变量或标识符本身。这是我们想要过滤的,第二个是我们想要做的(在这里,我们传递了 PHP 中可用选项的 ID),最后一个是与过滤器相关的选项。让我们通过一个测验示例来理解这一点:
代码:
<?php $int_val = 200; if(filter_var($int_val, FILTER_VALIDATE_INT)){ echo "The <b>$int_val</b> is a valid one."; // valid } else{ echo "The <b>$int_val</b> not a valid input as an integer"; // invalid } ?>
在上面的示例中,我们使用过滤器并检查变量 $int_val 中是否有整数值。所以,这是相同的输出。
输出:
许多 PHP Web 应用程序从客户端接收外部输入。这个想法是在处理之前清理用户输入,因为我们不能期望用户正确输入所有数据。任何外部用户或系统输入或数据都可能导致严重的安全问题。
我们可以在此处过滤以清理从各种外部来源输入的数据,例如:
PHP 过滤器和消毒器一起使我们能够了解输入是否有效。如果不是有效的输入,在这种情况下,我们可以对其进行清理以使其成为有效的输入。在接下来的示例部分中,我们将讨论与此相关的各种示例。
PHP 中有多种类型的过滤器可用。我们可以使用 filter_list() 函数检查该列表。这些函数过滤 URL、字符串、数字、IP 地址等
在本节中,我们将分别看到各种过滤器示例程序。
清理字符串
检查字符串是否有效
代码:
<?php $comment = "Hello word"; if(filter_var($comment, FILTER_SANITIZE_STRING)){ echo "The <b>$comment</b> is a valid one."; // valid } else{ echo "The <b>$comment</b> not a valid input"; // invalid } ?>
在上面的例子中,我们可以看到一个有效的字符串;这就是为什么它给出有效的。
输出:
获取经过清理的字符串作为输出
<?php $comment = "<i>Hello word</i>"; echo "Before sanitizing: ". $comment; $comment = filter_var($comment, FILTER_SANITIZE_STRING); echo "<br>"; // for new line echo "After sanitizing: ". $comment; ?>
我们可以看到我们有两个不同的输出。我们可以看到消毒前后的输出是不同的。清理后,HTML 标签已被 PHP 过滤功能删除。
输出:
验证 IP 地址
PHP过滤函数可以帮我们完成这个工作。让我们看一下例子。
代码:
<?php $ip_address = "172.16.254.1:40"; if(filter_var($ip_address, FILTER_VALIDATE_IP)){ echo "The <b>$ip_address</b> is a valid one."; // valid } else{ echo "The <b>$ip_address</b> is not a valid input"; // invalid } ?>
输出:
清理并验证电子邮件地址
代码:
<?php $email_address = "someone@@testmail.com"; code> echo "Before Sanitizing: " . $email_address ."<br>"; if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){ echo "The <b>$email_address</b> is a valid one."; // valid } else{ echo "The <b>$email_address</b> not a valid input"; // invalid } echo "<br>"; echo "After Sanitizing: " . filter_var($email_address, FILTER_SANITIZE_EMAIL); ?>
在上面的示例中,我们有一个无效的电子邮件 ID 值,因为我们通过使用过滤器函数获取此输出。但当我们清理后,它就会给出正确的电子邮件。
输出:
代码:
<?php $email_address = "[email protected]"; if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){ echo "The <b>$email_address</b> is a valid one."; // valid } else{ echo "The <b>$email_address</b> not a valid input"; // invalid } ?>
在上面的 PHP 代码示例中,我们检查电子邮件是否有效。
输出:
清理并验证 URL
在此示例中,我们将查看输入的 URL 是否有效。如果不是有效的 URL,它将对其进行清理以进行更正。
代码:
<?php $URL = "https://www.educba.com/��courses�"; echo "Before Sanitizing: " . $URL ."<br>"; if(filter_var($URL, FILTER_VALIDATE_URL)){ echo "The <b>$URL</b> is a valid one."; // valid } else{ echo "The <b>$URL</b> is not a valid input"; // invalid } echo "<br>"; echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL); ?>
输出:
我们应该使用 PHP 过滤器来验证或清理用户输入。这样,我们就可以限制易受攻击的用户输入。我们可以使用各种 PHP 过滤器函数来验证用户输入和值。我们还可以使用清理来清理值(用户输入或直接分配的值)。在使用任何 cookie 数据进行数据处理之前,我们应该始终使用 PHP 清理程序。
以上是PHP 过滤器的详细内容。更多信息请关注PHP中文网其他相关文章!