PHP |过滤器和过滤器常数
PHP Filter 是一个通过清理或验证数据来过滤数据的扩展。它在网站的安全性中起着至关重要的作用,当数据来自未知或外部来源(如用户提供的输入)时尤其有用。例如来自 HTML 表单的数据。
主要有以下两种类型的过滤器:
- 验证:用于验证或检查数据是否符合某些条件。例如,传入 FILTER_VALIDATE_URL 将确定数据是否为有效 url,但不会自行更改现有数据。
- 清理:与验证不同,清理将清理数据,以通过删除或更改数据来确保没有不需要的字符。例如,传入 FILTER_SANITIZE_EMAIL 将删除所有不适合电子邮件地址包含的字符。也就是说,它不会验证数据。
示例 1:使用 FILTER_VALIDATE_URL 过滤器验证 URL 的PHP程序。
示例 2:使用 FILTER_VALIDATE_EMAIL 过滤器验证电子邮件的PHP程序。
过滤功能:过滤函数用于过滤来自不安全来源的数据。
- filter_var():过滤特定变量
- filter_var_array():过滤多个变量,即变量数组
- filter_has_var():检查特定输入类型的变量是否存在
- filter_id():帮助获取指定过滤器名称的过滤器id
- filter_list():以数组的形式返回支持的过滤器名称列表。
- filter_input():获取一个外部变量,如果设置为过滤它。
- filter_input_array():与 filter_input() 相同,但此处获取多个变量,即变量数组,如果设置为过滤它们。
预定义的过滤器常量:下面列出了许多预定义的过滤器常量:
- 验证过滤器常量:
- FILTER_VALIDATE_BOOLEAN:验证布尔值
- FILTER_VALIDATE_INT:验证整数
- FILTER_VALIDATE_FLOAT:验证浮点数
- FILTER_VALIDATE_REGEXP:验证正则表达式
- FILTER_VALIDATE_IP:验证 IP 地址
- FILTER_VALIDATE_EMAIL:验证电子邮件地址
- FILTER_VALIDATE_URL:验证 URL
- 清理过滤器常量:
- FILTER_SANITIZE_EMAIL:从电子邮件地址中删除所有非法字符
- FILTER_SANITIZE_ENCODED:删除/编码特殊字符
- FILTER_SANITIZE_MAGIC_QUOTES:应用 addlashes()函数
- FILTER_SANITIZE_NUMBER_FLOAT:删除所有字符,除了数字、+- 和可选的 .、eE
- FILTER_SANITIZE_NUMBER_INT:删除除数字和 + – 之外的所有字符
- FILTER_SANITIZE_SPECIAL_CHARS:删除特殊字符
- FILTER_SANITIZE_FULL_SPECIAL_CHARS可以使用 FILTER_FLAG_NO_ENCODE_QUOTES 禁用编码引号。
- FILTER_SANITIZE_STRING :从字符串中删除标签/特殊字符
- FILTER_SANITIZE_STRIPPED : FILTER_SANITIZE_STRING的别名
- FILTER_SANITIZE_URL:从 s URL 中删除所有非法字符
- 其他过滤器常量:
- FILTER_UNSAFE_RAW :什么都不做,可选择剥离/编码特殊字符
- FILTER_CALLBACK :调用用户自定义函数过滤数据
注意: PHP过滤器在PHP 5.2.0 和更新版本中默认启用。旧版本需要安装。
参考: http: PHP。 PHP