PHP 筛选 功能
PHP 过滤器介绍
此 PHP 过滤器用于验证和过滤来自不安全来源的数据,例如用户输入。
安装
从 PHP 5.2.0 开始,过滤功能默认启用。使用这些功能无需安装。
运行时配置
这些函数的行为受 php.ini 中的设置影响:
姓名 | 描述 | 默认 | 多变 |
---|---|---|---|
过滤器默认 | 使用此过滤器过滤所有 $_GET、$_POST、$_COOKIE、$_REQUEST 和 $_SERVER 数据。默认接受您喜欢使用的过滤器的名称。请参阅过滤器列表以获取过滤器名称列表 | “不安全原始” | PHP_INI_PERDIR |
过滤器.default_flags | 设置默认过滤器时应用的默认标志。出于向后兼容的原因,默认设置为 FILTER_FLAG_NO_ENCODE_QUOTES | 无效的 | PHP_INI_PERDIR |
PHP 过滤函数
功能 | 描述 |
---|---|
过滤器_has_var() | 检查指定输入类型的变量是否存在 |
过滤器 ID() | 返回指定过滤器名称的过滤器 ID |
过滤器输入() | 获取外部变量(例如来自表单输入)并选择性地对其进行过滤 |
过滤器输入数组() | 获取外部变量(例如来自表单输入)并选择性地过滤它们 |
过滤列表() | 返回所有受支持的过滤器名称的列表 |
过滤器变量() | 使用指定的过滤器过滤变量 |
过滤器变量数组() | 获取多个变量并进行过滤 |
PHP 预定义过滤器常量
持续的 | 描述 |
---|---|
输入端 | POST 变量 |
输入获取 | 获取变量 |
输入 Cookie | COOKIE 变量 |
输入环境 | 环境变量 |
输入服务器 | 服务器变量 |
FILTER_DEFAULT | 不执行任何操作,可选择删除/编码特殊字符。相当于 FILTER_UNSAFE_RAW |
FILTER_FLAG_NONE | 不允许标记 |
筛选器_标志_允许_八进制 | 仅适用于以零 (0) 开头的八进制数字的输入。这仅允许后续数字为 0-7 |
FILTER_FLAG_ALLOW_HEX | 仅适用于以 0x/0X 开头的十六进制数字输入。这仅允许后续字符为 a-fA-F0-9 |
过滤器标志_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 | URL 必须包含路径部分 |
FILTER_FLAG_QUERY_REQUIRED | URL 必须包含查询字符串 |
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/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 | 将标量值视为数组,并以标量值作为唯一元素 |
失败时过滤为空 | 如果无法识别布尔值,则返回 NULL |
FILTER_VALIDATE_BOOLEAN | 验证布尔值 |
筛选器验证电子邮件 | 验证值是否为有效的电子邮件地址 |
FILTER_VALIDATE_FLOAT | 验证值为浮点数 |
过滤器验证_INT | 验证值为整数 |
过滤器验证 IP | 验证值为 IP 地址 |
过滤器验证 MAC 地址 | 验证值为 MAC 地址 |
FILTER_VALIDATE_REGEXP | 根据正则表达式验证值 |
FILTER_VALIDATE_URL | 验证值为 URL |
过滤电子邮件 | 删除电子邮件地址中的所有非法字符 |
过滤器消毒编码 | 删除/编码特殊字符 |
FILTER_SANITIZE_MAGIC_QUOTES | 应用 addslashes() |
过滤器消毒编号FLOAT | 删除所有字符,除了数字、+- 符号以及可选的 .、eE |
过滤器消毒编号_INT | 删除除数字和 + - 符号之外的所有字符 |
过滤器清理特殊字符 | 删除特殊字符 |
过滤器清理字符串 | 从字符串中删除标签/特殊字符 |
过滤器消毒已剥离 | FILTER_SANITIZE_STRING 的别名 |
FILTER_SANITIZE_URL | 从 URL 中删除所有非法字符 |
FILTER_UNSAFE_RAW | 不执行任何操作,可选择删除/编码特殊字符 |
过滤器回调 | 调用用户定义函数来过滤数据 |