PHP Filter是一个扩展,用于通过净化或验证来过滤数据。它在网站的安全性方面起着至关重要的作用,尤其在数据来自未知或外部源时非常有用,例如用户提供的输入。例如来自HTML表单的数据。
以下列出了两种主要的过滤器类型:
Validation:用于验证或检查数据是否满足特定条件。例如,传递FILTER_VALIDATE_URL将确定数据是否为有效的URL,但它不会自行更改现有数据。
Sanitization:与验证不同,净化将通过删除或更改数据来确保没有不需要的字符。例如,传递FILTER_SANITIZE_EMAIL将删除所有不适合电子邮件地址包含的字符。但是,它不验证数据。
示例1:使用FILTER_VALIDATE_URL过滤器验证URL的PHP程序。
<?php
// PHP program to validate URL
// Declare variable and initialize it to URL
$url = "https://www.maxiaoke.com";
// Use filter function to validate URL
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo "valid URL";
} else {
echo "Invalid URL";
}
?>
示例2:使用FILTER_VALIDATE_EMAIL过滤器验证电子邮件的PHP程序。
<?php
// PHP program to validate email
// Declare variable and initialize it to email
$email = "xyz@gmail.com";
// Use filter function to validate email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Valid Email";
} else {
echo "Invalid Email";
}
?>
示例3:使用FILTER_SANITIZE_EMAIL过滤器进行电子邮件净化的PHP程序。
<?php
// PHP program to sanitize an email
// Declare variable and initialize it
// to an email with illegal characters
$email = "user@geeksforgeeks.org";
// Sanitize the email using the FILTER_SANITIZE_EMAIL filter
$sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL);
// Output the sanitized email
echo "Sanitized Email: " . $sanitizedEmail;
?>
过滤函数:过滤函数用于过滤来自不安全来源的数据。
预定义的过滤器常量:下面列出了许多预定义的过滤器常量:
Validate filter constants
Sanitize filter constants: