📜  PHP |过滤器和过滤器常数

📅  最后修改于: 2022-05-13 01:56:55.148000             🧑  作者: Mango

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