首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
PHP中的include和require
文件操作基础
fopen( )打开文件或URL
fread()函数
fclose()函数
fwrite( )函数
PHP文件上传
PHP中使用Cookie
PHP中使用Sessions
Filter和Filter常量
PHP中实现回调函数
PHP异常处理
当前位置:
首页>>
技术小册>>
PHP合辑2-高级进阶
小册名称:PHP合辑2-高级进阶
PHP Filter是一个扩展,用于通过净化或验证来过滤数据。它在网站的安全性方面起着至关重要的作用,尤其在数据来自未知或外部源时非常有用,例如用户提供的输入。例如来自HTML表单的数据。 以下列出了两种主要的过滤器类型: Validation:用于验证或检查数据是否满足特定条件。例如,传递FILTER_VALIDATE_URL将确定数据是否为有效的URL,但它不会自行更改现有数据。 Sanitization:与验证不同,净化将通过删除或更改数据来确保没有不需要的字符。例如,传递FILTER_SANITIZE_EMAIL将删除所有不适合电子邮件地址包含的字符。但是,它不验证数据。 示例1:使用FILTER_VALIDATE_URL过滤器验证URL的PHP程序。 ``` <?php // PHP program to validate URL // Declare variable and initialize it to URL $url = "https://www.maxiaoke.com"; // Use filter function to validate URL if (filter_var($url, FILTER_VALIDATE_URL)) { echo "valid URL"; } else { echo "Invalid URL"; } ?> ``` 示例2:使用FILTER_VALIDATE_EMAIL过滤器验证电子邮件的PHP程序。 ``` <?php // PHP program to validate email // Declare variable and initialize it to email $email = "xyz@gmail.com"; // Use filter function to validate email if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Valid Email"; } else { echo "Invalid Email"; } ?> ``` 示例3:使用FILTER_SANITIZE_EMAIL过滤器进行电子邮件净化的PHP程序。 ``` <?php // PHP program to sanitize an email // Declare variable and initialize it // to an email with illegal characters $email = "user@geeksforgeeks.org"; // Sanitize the email using the FILTER_SANITIZE_EMAIL filter $sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL); // Output the sanitized email echo "Sanitized Email: " . $sanitizedEmail; ?> ``` 过滤函数:过滤函数用于过滤来自不安全来源的数据。 - filter_var(): 过滤特定变量。 - filter_var_array(): 过滤多个变量,即变量数组。 - filter_has_var(): 检查特定输入类型的变量是否存在。 - filter_id(): 它有助于获取指定过滤器名称的过滤器ID。 - filter_list(): 它返回受支持的过滤器名称列表,以数组的形式。 - filter_input(): 它获取外部变量,并在设置为进行过滤时对其进行过滤。 - filter_input_array(): 它与filter_input()相同,但在这里获取多个变量,即变量数组,并在设置为进行过滤时对其进行过滤。 预定义的过滤器常量:下面列出了许多预定义的过滤器常量: **Validate filter constants** - FILTER_VALIDATE_BOOLEAN:验证布尔值。 - FILTER_VALIDATE_INT:验证整数。 - FILTER_VALIDATE_FLOAT:验证浮点数。 - FILTER_VALIDATE_REGEXP:验证正则表达式。 - FILTER_VALIDATE_IP:验证IP地址。 - FILTER_VALIDATE_EMAIL:验证电子邮件地址。 - FILTER_VALIDATE_URL:验证URL。 **Sanitize filter constants:** - FILTER_SANITIZE_EMAIL:从电子邮件地址中删除所有非法字符 - FILTER_SANITIZE_ENCODED:删除/编码特殊字符 - FILTER_SANITIZE_MAGIC_QUOTES:应用addslashes()函数 - FILTER_SANITIZE_NUMBER_FLOAT:删除所有字符,仅保留数字、+、-以及可选的.、e、E - 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:从URL中删除所有非法字符
上一篇:
PHP中使用Sessions
下一篇:
PHP中实现回调函数
该分类下的相关小册推荐:
PHP程序员的设计模式
PHP程序员面试笔试真题与解析
Swoole入门教程
HTTP权威指南
Laravel(10.x)从入门到精通(九)
PHP8入门与项目实战(8)
Laravel(10.x)从入门到精通(十二)
Magento零基础到架构师(目录管理)
Magento零基础到架构师(安装篇)
Yii2框架从入门到精通(上)
Magento2后端开发高级实战
Yii2框架从入门到精通(下)