php filter_input()函数
php filter_input()函数是用来过滤输入变量并返回符合条件的值的一个函数。它可以有效防止恶意用户构造攻击,比如SQL注入,XSS攻击等。
使用方法
$value = filter_input(INPUT_POST, 'value', FILTER_SANITIZE_STRING);
filter_input()函数的第一个参数指定输入源,可以是INPUT_GET,INPUT_POST,INPUT_COOKIE,INPUT_SERVER,INPUT_ENV,INPUT_SESSION等;第二个参数指定要过滤的变量名;第三个参数指定过滤器,可以是FILTER_SANITIZE_STRING,FILTER_SANITIZE_NUMBER_INT,FILTER_SANITIZE_NUMBER_FLOAT,FILTER_SANITIZE_SPECIAL_CHARS,FILTER_SANITIZE_EMAIL,FILTER_SANITIZE_URL,FILTER_VALIDATE_INT,FILTER_VALIDATE_FLOAT,FILTER_VALIDATE_EMAIL,FILTER_VALIDATE_URL等。
如果指定的变量名不存在,或者指定的过滤器不存在,filter_input()函数会返回NULL,否则会返回符合条件的值。
示例
假设我们有一个表单,其中有一个文本框,用来输入用户名:
在process.php中,我们可以使用filter_input()函数来过滤用户输入的用户名:
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
if ($username) {
// do something with $username
}