PHP过滤器介绍
这个PHP过滤器是用来验证和过滤数据从非安全来源的,如用户输入。
安装
由于PHP 5.2.0中,过滤功能默认情况下启用。 有没有使用这些功能需要安装。
运行时配置
这些函数的行为受php.ini的设置:
名称 | 描述 | 默认 | 多变 |
---|---|---|---|
filter.default | 过滤所有的$ _GET,$ _ POST,$ _ COOKIE,$ _REQUEST和$ _ SERVER数据通过这个过滤器。 接受你喜欢默认使用过滤器的名称。 见过滤器列表过滤器名称列表 | “unsafe_raw” | PHP_INI_PERDIR |
filter.default_flags | 当过滤器的默认设置默认标志申请。 这是为了向后兼容的原因设置为FILTER_FLAG_NO_ENCODE_QUOTES默认 | 空值 | PHP_INI_PERDIR |
PHP 5过滤功能
功能 | 描述 |
---|---|
filter_has_var() | 检查是否存在指定的输入类型的变量 |
filter_id() | 返回指定过滤器名称的过滤器ID |
filter_input() | 获取外部变量(eg from form input)以及任选的过滤器它 |
filter_input_array() | 获取外部变量(eg from form input)以及任选的过滤他们 |
filter_list() | 返回所有支持的过滤器的列表 |
filter_var_array() | 获取多个变量,并将其筛选 |
filter_var() | 过滤出该变量与指定的过滤器 |
PHP 5个预定义过滤器常量
不变 | ID | 描述 |
---|---|---|
FILTER_VALIDATE_BOOLEAN | 258 | 验证一个布尔 |
FILTER_VALIDATE_EMAIL | 274 | 验证电子邮件地址 |
FILTER_VALIDATE_FLOAT | 259 | 验证一个浮动 |
FILTER_VALIDATE_INT | 257 | 验证一个整数 |
FILTER_VALIDATE_IP | 275 | 验证IP地址 |
FILTER_VALIDATE_REGEXP | 272 | 验证正则表达式 |
FILTER_VALIDATE_URL | 273 | 验证网址 |
FILTER_SANITIZE_EMAIL | 517 | 删除所有非法字符从E-mail地址 |
FILTER_SANITIZE_ENCODED | 514 | 删除/特殊字符进行编码 |
FILTER_SANITIZE_MAGIC_QUOTES | 521 | 应用addslashes() |
FILTER_SANITIZE_NUMBER_FLOAT | 520 | 删除所有字符,除了数字,+ - 和可选,EE |
FILTER_SANITIZE_NUMBER_INT | 519 | 除了删除数字和+所有字符 - |
FILTER_SANITIZE_SPECIAL_CHARS | 515 | 删除特殊字符 |
FILTER_SANITIZE_FULL_SPECIAL_CHARS | ||
FILTER_SANITIZE_STRING | 513 | 删除标签/特殊字符从字符串 |
FILTER_SANITIZE_STRIPPED | 513 | FILTER_SANITIZE_STRING的别名 |
FILTER_SANITIZE_URL | 518 | 去除的URL的所有非法字符 |
FILTER_UNSAFE_RAW | 516 | 什么都不做,可选带/编码的特殊字符 |
FILTER_CALLBACK | 1024 | 调用用户定义的函数来过滤数据 |