首页博客网络编程
学习使用 PHP 过滤器:提高安全级别的功能
摘要 PHP 过滤对于需要处理(在大多数情况下,验证和排序)数据的编码人员很有用。 内置的 PHP 过滤器已在 5.2 版中引入。如果您使用的是此版本或更新版本,则无需单独安装这些功能。 编码人员经常在 PHP 代码中使用,因为它具有灵活性。filter_var

我们可能已经讨论过一两次PHP过滤器。使用它们对于您正在创建的网站或应用程序的安全非常重要。

我们准备了一个清晰的 PHP 过滤器函数和预定义常量列表,您可以快速参考。如果您突然需要PHP验证字符串,编码特殊字符或执行其他过滤任务,我们在这里满足您的各种需求。

内容

PHP过滤器:主要提示

  • PHP 过滤器用于使用 PHP 脚本对数据进行排序、验证和以其他方式过滤数据。

  • 从 PHP 版本 5.2.0 开始,过滤函数默认可用,因此不必安装它们。

  • filter_var在 PHP 中可能被认为是最有价值的函数之一。

运行时配置选项

永远记住,这些函数的工作受 php.ini 中的设置的影响:

名字描述默认值多变
filter.default使用此筛选器筛选每 _POST 美元、_GET 美元、_REQUEST 美元、_COOKIE 美元和 _SERVER 美元的数据。此设置接受要使用的特定筛选器的名称。您可以看到下面列出的 PHP 过滤器。“unsafe_raw”PHP_INI_PERDIR
filter.default_flags设置每当设置默认 PHP 筛选器时应用的默认标志。出于向后兼容性原因,默认情况下,此设置设置为 FILTER_FLAG_NO_ENCODE_QUOTES。PHP_INI_PERDIR

要应用的功能列表

在下表中,您可以看到可用于 PHP 过滤器的有用函数列表。它们在 PHP 5.2 和所有更新版本中都有效:

功能描述
filter_has_var()检查指定输入类型的变量是否存在
filter_id()返回指定筛选器名称的筛选器 ID
filter_input()获取外部变量(例如,从表单字段输入),然后选择性地进行过滤
filter_input_array()获取外部变量(例如,从表单字段输入),然后选择性地进行过滤
filter_list()返回所有支持的筛选器的列表
filter_var_array()获取多个变量并对其进行筛选
filter_var()使用指定过滤器过滤变量

相关预定义常量

看看这些预定义的常量。在执行 PHP 过滤时,您可能会发现它们也很有用:

不断编号描述
FILTER_VALIDATE_BOOLEAN258验证布尔值
FILTER_VALIDATE_EMAIL274验证电子邮件地址
FILTER_VALIDATE_FLOAT259验证浮点数
FILTER_VALIDATE_INT257验证整数
FILTER_VALIDATE_IP275验证 IP 地址
FILTER_VALIDATE_REGEXP272验证正则表达式
FILTER_VALIDATE_URL273验证 URL
FILTER_SANITIZE_EMAIL517从电子邮件地址中删除每个非法字符
FILTER_SANITIZE_ENCODED514删除/编码特殊字符
FILTER_SANITIZE_MAGIC_QUOTES521应用 addslashes() 函数
FILTER_SANITIZE_NUMBER_FLOAT520删除除数字、+- 和可选的 .,eE 之外的所有字符
FILTER_SANITIZE_NUMBER_INT519删除除数字和 + - 之外的所有字符
FILTER_SANITIZE_SPECIAL_CHARS515删除特殊字符
FILTER_SANITIZE_FULL_SPECIAL_CHARS515拒绝包含生成无效字符的字节序列的字符串。结果为 0 长度字符串
FILTER_SANITIZE_STRING513从字符串中删除标签/特殊字符
FILTER_SANITIZE_STRIPPED513FILTER_SANITIZE_STRING过滤器的别名
FILTER_SANITIZE_URL518从 URL 中删除所有非法字符
FILTER_UNSAFE_RAW516(可选)对特殊字符进行剥离/编码
FILTER_CALLBACK1024调用用户定义的函数来过滤数据

PHP 过滤器:总结

  • PHP 过滤对于需要处理(在大多数情况下,验证和排序)数据的编码人员很有用。

  • 内置的 PHP 过滤器已在 5.2 版中引入。如果您使用的是此版本或更新版本,则无需单独安装这些功能。

  • 编码人员经常在 PHP 代码中使用,因为它具有灵活性。filter_var


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/225

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位