PHP filter 过滤器知识

  • Post author:
  • Post category:php



SERVER详解:

$_SERVER['HTTP_ACCEPT_LANGUAGE']; //浏览器语言
$_SERVER['REMOTE_ADDR'];//当前用户IP
$_SERVER['REMOTE_HOST'];//当前用户主机名
$_SERVER['REQUEST_URI'];//URL
$_SERVER['SERVER_NAME'];//服务器主机的名称
$_SERVER['REMOTE_PORT'];//端口
$_SERVER['PHP_SELF'];//正在执行脚本的文件名
$_SERVER['argv'];//传递给该脚本的参数
$_SERVER['argc'];//传递给程序的命令行参数的个数
$_SERVER['GATEWAY_INTERFACE'];//CGI规范的版本
$_SERVER['SERVER_SOFTWARE'];//服务器标识的字串
$_SERVER['SERVER_PROTOCOL'];//请求页面时的通信协议的名称和版本
$_SERVER['REQUEST_METHOD'];//访问页面时的请求方法
$_SERVER['QUERY_STRING'];//查询(query)的字符串
$_SERVER['DOCOUMENT_ROOT'];//当前运行脚本所在的文档根目录
$_SERVER['HTTP_ACCEPT'];//当前请求的Accept:头部的内容
$_SERVER['HTTP_ACCEPT_CHARSET'];//当前请求的Accetp-Charset:头部的内容
$_SERVER['HTTP_ACCEPT_ENCODING'];//当前请求的Accept-Encoding:头部的内容
$_SERVER['HTTP_CONNECTION'];//当前请求的 Connection: 头部的内容。例如:“Keep-Alive”
$_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容
$_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址
$_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容
$_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off
$_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名
$_SERVER['SERVER_ADMIN'] #管理员信息
$_SERVER['SERVER_PORT'] #服务器所使用的端口
$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串
$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径
$_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用
$_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名
$_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码
$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型


PHP



filter_has_var()


函数



filter_has_var()


函数检查是否存在指定输入类型的变量。如果陈工则返回TURE,如果失败则返回

FALSE

filter_has_var(INPUT_GET,"name");
filter_has_var(INPUT_POST,"name");
filter_has_var(INPUT_COOKIE,"name");
filter_has_var(INPUT_SERVER,"name");
filter_has_var(INPUT_ENV,"name");


PHP



filer_id()


函数



filter_id()


函数返回指定过滤器的

ID

号。如果成功则返回过滤器的

ID

号,如果过滤器不存在则返回

NULL

filter_name(过滤器名称);


PHP

filter_input()


函数



filter_input()


函数从脚本外部获取输入(比如表单输入),并进行过滤。该函数用于对来自非安全来源的变量进行验证,比如用户输入。

filter_input(input_type, variable, filter, optons);
//input_type:必需,规定输入类型(INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_ENV, INPUT_SERVER)
//variable:必需,固定要过滤的变量,外部输入变量。
//filter:可选。规定要使用的过滤器的id或者过滤器名称。默认值是 `FILTER_SANITIZE_STRING`
//option:可选,规定一个包含标志/选项的关联数组或者一个单一的标志/选项。检查每个过滤器可能的标志和选项


PHP

filter_input_array()


函数



filter_input_array()


函数从脚本外部获取多项输入(比如表单输入),并进行过滤,可以理解为


filer_input()


函数的数组形式。

filter_input_array(input_type, filter_args);
//input_type:外部输入需要过滤数组。
//filter_args:可选,规定过滤器参数的数组。合法的数组键名是变量名,合法的值是过滤器ID或者过滤器名称。



filter_list()


显示过滤器名称

Array
(
[0] => int
[1] => boolean
[2] => float
[3] => validate_regexp
[4] => validate_url
[5] => validate_email
[6] => validate_ip
[7] => string
[8] => stripped
[9] => encoded
[10] => special_chars
[11] => unsafe_raw
[12] => email
[13] => url
[14] => number_int
[15] => number_float
[16] => magic_quotes
[17] => callback
)


PHP

filter_var()


函数



filter_var()


函数通过指定的过滤器过滤一个变量,如果成功,则返回过滤的数据,如果失败,则返回

FALSE

filter_var(variable, filter, options);
//variable:必需,规定要过滤的变量。
//filter:可选,规定要使用的过滤器ID,默认是FILTER_SANITIZE_STRING
//options:可选,规定一个包含标志/选项的关联数组或者一个单一的标志/选项,检查每个过滤器可能的标志和选项


PHP

filter_var_array()


函数



filter_var_array()


函数获取多个变量,并进行过滤,**

filer_var

**的数组形式

filter_var_array(array, args);
//array:必需,规定带有字符串键名的数组,包含要过滤的数据。
//arg:可选,规定过滤参数数组,合法的数组键名是变量名,合法的值是过滤器ID


PHP过滤器

FILTER_CALLBACK//调用用户自定义函数来过滤数据。
FILTER_SANITIZE_STRING//去除标签,去除或编码特殊字符。
FILTER_SANITIZE_STRIPPED//"string" 过滤器的别名。
FILTER_SANITIZE_ENCODED//URL-encode 字符串,去除或编码特殊字符。
FILTER_SANITIZE_SPECIAL_CHARS//HTML 转义字符 '"<>& 以及 ASCII 值小于 32 的字符。
FILTER_SANITIZE_EMAIL//删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[]
FILTER_SANITIZE_URL//删除所有字符,除了字母、数字以及 $-_.+!*'(),{}|\^~[]`<>#%";/?:@&=
FILTER_SANITIZE_NUMBER_INT//删除所有字符,除了数字和 +-
FILTER_SANITIZE_NUMBER_FLOAT//删除所有字符,除了数字、+- 以及 .,eE
FILTER_SANITIZE_MAGIC_QUOTES//应用 addslashes()。
FILTER_UNSAFE_RAW//不进行任何过滤,去除或编码特殊字符。
FILTER_VALIDATE_INT//把值作为整数来验证。
FILTER_VALIDATE_BOOLEAN//把值作为布尔选项来验证。如果是 "1"、"true"、"on" 和 "yes",则返回 TRUE。如果是 "0"、"false"、"off"、"no" 和 "",则返回 FALSE。否则返回 NULL。
FILTER_VALIDATE_FLOAT//把值作为浮点数来验证。
FILTER_VALIDATE_REGEXP//根据 regexp(一种兼容 Perl 的正则表达式)来验证值。
FILTER_VALIDATE_URL//把值作为 URL 来验证。
FILTER_VALIDATE_EMAIL//把值作为 e-mail 地址来验证。
FILTER_VALIDATE_IP//把值作为 IP 地址来验证,只限 IPv4 或 IPv6 或 不是来自私有或者保留的范围。



版权声明:本文为weixin_42928781原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。