filter_input() 函数
定义和用法
filter_input() 函数从脚本外部获取输入,并进行过滤。
本函数用于对来自非安全来源的变量进行验证,比如用户的输入。
本函数可从各种来源获取输入:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_ENV
- INPUT_SERVER
- INPUT_SESSION (Not yet implemented)
- INPUT_REQUEST (Not yet implemented)
如果成功,则返回被过滤的数据,如果失败,则返回 false,如果 variable 参数未设置,则返回 NULL。
语法
filter_input(input_type, variable, filter, options)
| 参数 | 描述 |
|---|---|
| input_type | 必需。规定输入类型。参见上面的列表中可能的类型。 |
| variable | 规定要过滤的变量。 |
| filter |
可选。规定要使用的过滤器的 ID。默认是 FILTER_SANITIZE_STRING。 请参见完整的 PHP Filter 函数参考手册,获得可能的过滤器。 过滤器 ID 可以是 ID 名称 (比如 FILTER_VALIDATE_EMAIL),或 ID 号(比如 274)。 |
| options | 规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。 |
在本例中,我们使用 filter_input() 函数来过滤一个 POST 变量。所接受的 POST 变量是合法的 e-mail 地址。
<?php
if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL))
{
echo "E-Mail is not valid";
}
else
{
echo "E-Mail is valid";
}
?>
输出类似:
E-Mail is valid
Filter 函数
用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。
filter 函数是 PHP 核心的组成部分。无需安装即可使用这些函数
PHP:指示支持该函数的最早的 PHP 版本。
| 函数 | 描述 | PHP |
|---|---|---|
| filter_has_var() | 检查是否存在指定输入类型的变量。 | 5 |
| filter_id() | 返回指定过滤器的 ID 号。 | 5 |
| filter_input() | 从脚本外部获取输入,并进行过滤。 | 5 |
| filter_input_array() | 从脚本外部获取多项输入,并进行过滤。 | 5 |
| filter_list() | 返回包含所有得到支持的过滤器的一个数组。 | 5 |
| filter_var_array() | 获取多项变量,并进行过滤。 | 5 |
| filter_var() | 获取一个变量,并进行过滤。 | 5 |
| ID 名称 | 描述 |
|---|---|
| FILTER_CALLBACK | 调用用户自定义函数来过滤数据。 |
| FILTER_SANITIZE_STRING | 去除标签,去除或编码特殊字符。 |
| FILTER_SANITIZE_STRIPPED | "string" 过滤器的别名。 |
| FILTER_SANITIZE_ENCODED | URL-encode 字符串,去除或编码特殊字符。 |
| FILTER_SANITIZE_SPECIAL_CHARS | HTML 转义字符 '"<>& 以及 ASCII 值小于 32 的字符。 |
| FILTER_SANITIZE_EMAIL | 删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[] |
| FILTER_SANITIZE_URL | 删除所有字符,除了字母、数字以及 $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= |
| FILTER_SANITIZE_NUMBER_INT | 删除所有字符,除了数字和 +- |
| FILTER_SANITIZE_NUMBER_FLOAT | 删除所有字符,除了数字、+- 以及 .,eE。 |
| FILTER_SANITIZE_MAGIC_QUOTES | 应用 addslashes()(addslashes()函数用来添加反斜杠进行转义)。 |
| FILTER_UNSAFE_RAW | 不进行任何过滤,去除或编码特殊字符。 |
| FILTER_VALIDATE_INT | 在指定的范围以整数验证值。 |
| FILTER_VALIDATE_BOOLEAN | 如果是 "1", "true", "on" 以及 "yes",则返回 true,如果是 "0", "false", "off", "no" 以及 "",则返回 false。否则返回 NULL。 |
| FILTER_VALIDATE_FLOAT | 以浮点数验证值。 |
| FILTER_VALIDATE_REGEXP | 根据 regexp,兼容 Perl 的正则表达式来验证值。 |
| FILTER_VALIDATE_URL | 把值作为 URL 来验证。 |
| FILTER_VALIDATE_EMAIL | 把值作为 e-mail 来验证。 |
| FILTER_VALIDATE_IP | 把值作为 IP 地址来验证。 |
filter_input() 函数的更多相关文章
- PHP filter_input() 函数
以往,对于常见的SQL注入等漏洞,采取的方式一般都是对数据进行过滤,而对$_GET/$_POST/$_COOKIE/$_SERVER等全局数组变量的直接使用是不够安全的,故PHP 5.2.0版本以后, ...
- PHP常用函数大全
usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...
- PHP常用函数备用
刚学习php的时候,我也为记忆php函数苦恼不已.认为干嘛记忆这么枯燥无味的东西呢?用的时候查一下手册不就行了吗?但是当时因为身在辅导机构,还是记忆了一大堆自己并不感兴趣的函数. 由此就想起来,小的时 ...
- PHP常用函数大全。
php usleep() 函数延迟代码执行若干微秒. unpack() 函数从二进制字符串对数据进行解包. uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. time_sleep_ ...
- 最全的PHP常用函数大全
PHP的一些常用函数 quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠. quoted_printable_decode() 函数对经过 quoted-printable 编码后的字 ...
- PHP 各种函数
usleep() 函数延迟代码执行若干微秒. unpack() 函数从二进制字符串对数据进行解包. uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. time_sleep_unti ...
- php函数整理
php usleep() 函数延迟代码执行若干微秒. unpack() 函数从二进制字符串对数据进行解包. uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. time_sleep_ ...
- 【笔记】php常用函数
phpusleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_unti ...
- PHP常用函数大全500+
php usleep() //函数延迟代码执行若干微秒. unpack() //函数从二进制字符串对数据进行解包. uniqid() //函数基于以微秒计的当前时间,生成一个唯一的 ID. time_ ...
随机推荐
- 输入参数是NSDate,输出结果是星期几的字符串
给你一个方法,输入参数是NSDate,输出结果是星期几的字符串.+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate { NSArray *wee ...
- [poj2828] Buy Tickets (线段树)
线段树 Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must ...
- EasyUI关于 numberbox,combobox,validatebox 的几个小问题
在最近的项目中,首次使用到了 网页的一个布局框架——EasyUI,感觉这个框架特别牛,兼容性很不错,页面效果也挺不错,可是在使用标题上三个控件过程中遇到几个很奇特的问题,让我头疼不已,所以在此给广大I ...
- (转载)U-boot启动完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 Ø 硬件设备初始化 Ø 加载U-Boot第二阶段代码到RAM空间 Ø 设置好栈 Ø ...
- iOS - Mac Apache WebServer 服务器配置
前言 Apache 是目前使用最广的 Web 服务器,可以支持各种脚本的执行. Mac 系统自带,无需单独安装,只需要修改几个配置就可以,简单,快捷. 有些特殊的服务器功能,Apache 都能很好的支 ...
- boost 编译,windows平台
下载Boost及生成bjam.exe文件 到Google网站搜索下载boost_1.52版本库,下载完成后,解压到X:下,这个地址自己随便定义.在解压的文件中搜索build.bat文件,把它所在的目录 ...
- 学习mongo系列(三) update() save()
一.update()方法 >db.user.update({"name":"user1"},{$set:{"title":" ...
- [css] CSS相对定位|绝对定位
第一篇链接:http://www.zhangxinxu.com/wordpress/2010/12/css-%E7%9B%B8%E5%AF%B9%E7%BB%9D%E5%AF%B9%E5%AE%9A% ...
- 数组的sort方法
今天在看<JavaScript高级程序设计第三版>时,学到了数组的sort方法.知道这个方法,但是一直没仔细研究过,这次发现,它是把数组内的值用toSting()变为字符串再进行比较,这样 ...
- C#日常知识
常量: 定义常量:const; 条件运算符: 表达式1?表达式2:表达式3[如果正确则执行表达式2,不正确执行表达式3] (例如:int result; result = 5>4?100:200 ...