博主信息
博文 28
粉丝 0
评论 1
访问量 27867
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实例演示常用的变量过滤器,不少于五个
南宫
原创
1146人浏览过

1.过滤单个变量 filter_var()

  1. //filter_var(要过滤的变量,过滤器常量);
  2. //过滤满十八周岁,小于60岁周岁的
  3. $options = ['options'=>['min_range'=>18,'max_range'=>60]];
  4. $age = '50';
  5. var_dump(filter_var($age,FILTER_VALIDATE_INT,$options));
  6. echo '<hr>';
  7. $age = '120';
  8. var_dump(filter_var($age,FILTER_VALIDATE_INT,$options));

  1. // 过滤正确邮箱
  2. $email = 'admin@php.cn';
  3. var_dump(filter_var($email,FILTER_VALIDATE_EMAIL));

2.验证多个变量 filter_var_array()

  1. //验证多个变量值是不是int类型
  2. $a = 10;
  3. $b = '90';
  4. $c = "nihao";
  5. $arr = [$a,$b,$c];
  6. var_dump(filter_var_array($arr,FILTER_VALIDATE_INT));

3. 验证外部变量

通常通过http请求发送过来的值,如表单,get,post

filter_input(输入类型get/post,变量名,过滤器,参数)

  1. //获取get请求中参数id的值
  2. echo 'id = ' . $_GET['id'];
  3. echo '<hr>';
  4. //验证get请求中参数id的值
  5. $options = ['options'=>['min_range'=>1]];
  6. var_dump(filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT,$options));

验证多个外部变量

  1. $args = [
  2. 'username'=> FILTER_SANITIZE_STRING, //去除标签以及特殊字符:`strip_tags()`
  3. 'email'=>FILTER_VALIDATE_EMAIL,
  4. 'age'=>['filter'=>FILTER_VALIDATE_INT,'options'=>['min_range'=>18,'max_range'=>60]],
  5. 'blog'=>FILTER_VALIDATE_URL
  6. ];
  7. var_dump(filter_input_array(INPUT_GET,$args));

变量过滤器

过滤器用于验证和过滤来自非安全来源的外部数据,

- 外部数据来源:

序号 数据来源 描述
1 表单 来自表音的用户输入数据
2 Cookies 来自浏览器中的 cookie
3 服务器变量 防止伪装的合法访问
4 Web 服务数据 Web 请求的数据
5 数据库查询结果 数据表中的数据并不可信

常用的过滤器函数:

序号 函数 描述
1 filter_list()
2 filter_id()
3 filter_var() 过滤单个变量
4 filter_var_array() 过滤多个变量
5 filter_has_var() 检测是否存在某个外部变量
6 filter_input() 过滤单个外部变量
7 filter_input_array() 过滤多个外部变量

外部变量类型: INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV

过滤器主要分为二类: 验证过滤器, 清理过滤器

验证过滤器常量

验证过滤器: 又叫”验证器”, 主要用于数据的类型和格式验证
序号 过滤器函数 描述
1 FILTER_VALIDATE_INT 验证整数
2 FILTER_VALIDATE_FLOAT 浮点点验证
3 FILTER_VALIDATE_BOOLEAN 验证布尔项
4 FILTER_VALIDATE_EMAIL 验证邮箱
5 FILTER_VALIDATE_URL 验证 URL 地址
6 FILTER_VALIDATE_IP 验证 IP 地址
7 FILTER_VALIDATE_REGEXP 正则验证

FILTER_VALIDATE_BOOLEAN: 布尔选项的返回值类型

序号 返回值 描述
1 true “1”, “true”, “on” 和 “yes”
2 false “0”, “false”, “off”, “no”, “”
3 null 除以上情形外

清理过滤器常量

清理过滤器: 去掉非法字符,仅保留指定内容

序号 过滤器函数 描述
1 FILTER_UNSAFE_RAW 保持原始数据
2 FILTER CALLBACK 自定义函数过滤数据
3 FILTER_SANITIZE_STRING 去除标签以及特殊字符:strip_tags()
4 FILTER_SANITIZE_STRIPPED “string” 过滤器别名
5 FILTER_SANITIZE_ENCODED URL-encode 字符串,去除或编码特殊字符
6 FILTER_SANITIZE_SPECIAL_CHARS HTML 转义字符, 等价于 htmlspecialchars()
7 FILTER_SANITIZE_EMAIL 仅保留邮箱地址的合法字符
8 FILTER_SANITIZE_URL 仅保留合法的 URL, 必须从协议开始http/https
9 FILTER_SANITIZE_NUMBER_INT 仅保留合法的数字和正负号+-
10 FILTER_SANITIZE_NUMBER_FLOAT 仅保留合法的数字和正负号+- 以及指数 .,eE
11 FILTER_SANITIZE_MAGIC_QUOTES 等价于函数: addslashes()
批改老师:GuanhuiGuanhui

批改状态:合格

老师批语:写的挺好!过滤器是保证网站安全的重要利器!
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学