Php/php ref filter
来自菜鸟教程
PHP过滤器功能
PHP筛选器简介
此PHP过滤器用于验证和过滤来自不安全来源(例如用户输入)的数据。
安装
从PHP 5.2.0起,默认情况下启用过滤器功能。不需要安装即可使用这些功能。
运行时配置
这些功能的行为受php.ini中的设置影响:
Name | 描述 | 默认 | 多变 |
---|---|---|---|
filter.default | 通过此过滤器过滤所有$ _GET,$ _ POST,$ _ COOKIE,$ _ REQUEST和$ _SERVER数据。接受默认情况下要使用的过滤器的名称。请参阅过滤器列表以获取过滤器名称列表 | “ unsafe_raw” | PHP_INI_PERDIR |
filter.default_flags | 设置默认过滤器时将应用默认标志。出于向后兼容的原因,默认情况下将其设置为FILTER_FLAG_NO_ENCODE_QUOTES | NULL | PHP_INI_PERDIR |
PHP过滤器功能
功能 | 描述 |
---|---|
filter_has_var() | 检查指定输入类型的变量是否存在 |
filter_id() | 返回指定过滤器名称的过滤器ID |
filter_input() | 获取一个外部变量(例如从表单输入),并可选地对其进行过滤 |
filter_input_array() | 获取外部变量(例如从表单输入),并有选择地过滤它们 |
filter_list() | 返回所有支持的过滤器名称的列表 |
filter_var() | 使用指定的过滤器过滤变量 |
filter_var_array() | 获取多个变量并过滤它们 |
PHP预定义过滤器常量
不变 | 描述 |
---|---|
INPUT_POST | POST变量 |
INPUT_GET | GET变量 |
INPUT_COOKIE | COOKIE变量 |
INPUT_ENV | ENV变量 |
INPUT_SERVER | 服务器变量 |
FILTER_DEFAULT | 不执行任何操作,可以选择去除/编码特殊字符。相当于FILTER_UNSAFE_RAW |
FILTER_FLAG_NONE | 不允许标志 |
FILTER_FLAG_ALLOW_OCTAL | 仅适用于以零(0)开头的八进制数字。这仅允许后续数字为0-7 |
FILTER_FLAG_ALLOW_HEX | 仅适用于以0x / 0X开头的十六进制数字。这仅允许后续字符为a-fA-F0-9 |
FILTER_FLAG_STRIP_LOW | 去除ASCII值小于32的字符 |
FILTER_FLAG_STRIP_HIGH | 去除ASCII值大于127的字符 |
FILTER_FLAG_ENCODE_LOW | 编码ASCII值小于32的字符 |
FILTER_FLAG_ENCODE_HIGH | 编码ASCII值大于127的字符 |
FILTER_FLAG_ENCODE_AMP | 编码和 |
FILTER_FLAG_NO_ENCODE_QUOTES | 不要编码'和' |
FILTER_FLAG_EMPTY_STRING_NULL | 未使用 |
FILTER_FLAG_ALLOW_FRACTION | 允许使用句点(。)作为数字的小数分隔符 |
FILTER_FLAG_ALLOW_THOUSAND | 允许使用逗号(,)作为数字的千位分隔符 |
FILTER_FLAG_ALLOW_SCIENTIFIC | 允许使用e或E进行数字科学计数 |
FILTER_FLAG_PATH_REQUIRED | 网址必须包含路径部分 |
FILTER_FLAG_QUERY_REQUIRED | 网址必须包含查询字符串 |
FILTER_FLAG_IPV4 | 允许IP地址为IPv4格式 |
FILTER_FLAG_IPV6 | 允许IP地址采用IPv6格式 |
FILTER_FLAG_NO_RES_RANGE | 无法验证保留的IPv4范围:0.0.0.0/8、169.254.0.0/16、127.0.0.0/8和240.0.0.0/4,以及保留的IPv6范围:: 1/1/128,:// 128, :: ffff:0:0/96和fe80 :: / 10 |
FILTER_FLAG_NO_PRIV_RANGE | 对专用IPv4范围(10.0.0.0/8、172.16.0.0/12和192.168.0.0/16)以及对以FD或FC开头的IPv6地址的验证失败 |
FILTER_FLAG_EMAIL_UNICODE | 允许电子邮件地址的本地部分包含Unicode字符 |
FILTER_REQUIRE_SCALAR | 该值必须是标量 |
FILTER_REQUIRE_ARRAY | 该值必须是一个数组 |
FILTER_FORCE_ARRAY | 将标量值视为数组,将标量值视为唯一元素 |
FILTER_NULL_ON_FAILURE | 如果无法识别布尔值失败,则返回NULL |
FILTER_VALIDATE_BOOLEAN | 验证布尔值 |
FILTER_VALIDATE_EMAIL | 将值验证为有效的电子邮件地址 |
FILTER_VALIDATE_FLOAT | 将值验证为浮点型 |
FILTER_VALIDATE_INT | 将值验证为整数 |
FILTER_VALIDATE_IP | 验证值作为IP地址 |
FILTER_VALIDATE_MAC | 将值验证为MAC地址 |
FILTER_VALIDATE_REGEXP | 根据正则表达式验证值 |
FILTER_VALIDATE_URL | 将值验证为URL |
FILTER_SANITIZE_EMAIL | 从电子邮件地址中删除所有非法字符 |
FILTER_SANITIZE_ENCODED | 删除/编码特殊字符 |
FILTER_SANITIZE_MAGIC_QUOTES | 应用addslashes() |
FILTER_SANITIZE_NUMBER_FLOAT | 删除所有字符,除了数字,+-符号和可选的。,eE |
FILTER_SANITIZE_NUMBER_INT | 删除除数字和+-符号以外的所有字符 |
FILTER_SANITIZE_SPECIAL_CHARS | 删除特殊字符 |
FILTER_SANITIZE_STRING | 从字符串中删除标签/特殊字符 |
FILTER_SANITIZE_STRIPPED | FILTER_SANITIZE_STRING的别名 |
FILTER_SANITIZE_URL | 从s网址中删除所有非法字符 |
FILTER_UNSAFE_RAW | 不执行任何操作,可以选择去除/编码特殊字符 |
FILTER_CALLBACK | 调用用户定义的函数来过滤数据 |