函数名:filter_input()
适用版本:PHP 5 >= 5.2.0, PHP 7
用法:filter_input() 函数用于从外部获取输入,并对输入进行过滤。它接受三个参数:输入类型、输入的变量名和过滤器类型。该函数返回过滤后的值,如果过滤失败则返回 false。
示例:
- 获取并过滤 POST 请求中的 username 参数:
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
- 获取并过滤 GET 请求中的 email 参数,同时校验 email 格式:
$email = filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);
if ($email) {
// 邮箱格式正确,进行后续操作
} else {
// 邮箱格式不正确,进行错误处理
}
- 获取并过滤 COOKIE 中的 token 参数,同时转换为整数类型:
$token = filter_input(INPUT_COOKIE, 'token', FILTER_VALIDATE_INT);
注意事项:
- 输入类型参数可以是以下常量之一:INPUT_GET、INPUT_POST、INPUT_COOKIE、INPUT_SERVER、INPUT_ENV。
- 过滤器类型参数可以是以下常量之一:FILTER_SANITIZE_STRING、FILTER_VALIDATE_EMAIL、FILTER_VALIDATE_INT 等,具体可查看 PHP 官方文档了解更多过滤器类型。
- 通过 filter_input() 函数获取输入时,会自动进行过滤和验证,提高了安全性,避免了一些常见的安全漏洞。