php中filter_input函数用法分析

yipeiwu_com6年前PHP代码库

本文实例分析了php中filter_input函数用法。分享给大家供大家参考。具体分析如下:

在 php5.2 中,内置了filter 模块,用于变量的验证和过滤,过滤变量等操作,这里我们看下如何直接过滤用户输入的内容.

fliter 模块对应的 filter_input 函数使用起来非常的简单,例如我们过滤用户输入名为 sample 的 get 参数为整型,那么可以这样写:

复制代码 代码如下:
filter_input(input_get, "sample", filter_sanitize_number_int);

filter_input 的参数分别是用户输入类型、对应的输入名称、以及过滤(验证)常量,目前 filter_input 支持下面几种用户输入:

复制代码 代码如下:
input_get // 对应 $_get
input_post // 对应 $_post
input_cookie // 对应 $_cookie
input_server // 对应 $_server
input_env // 对应 $_env

配合内置提供的各种验证标记符,就可以解决类似的用户输入过滤等“体力活”,最后,还是需要再提下 filter 的个不大不小的陷阱.
复制代码 代码如下:
filter_var('abc', filter_validate_boolean); // bool(false)
filter_var('0',   filter_validate_boolean); // bool(false)

php arch 上重新提及 fliter 模块,的确这个模块能节省我们不少的时间,这里再次整理下,$_get 和 $_post 等用户提供的数据如果使用不当,如验证、过滤不全面,就很容易造成安全问题,通常情况下,我们会编写“一坨”正则来验证数据格式是否合法.

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

php设计模式 Decorator(装饰模式)

复制代码 代码如下: <?php /** * 装饰模式 * * 动态的给一个对象添加一些额外的职责,就扩展功能而言比生成子类方式更为灵活 */ header("Content-ty...

PHP判断是否连接上网络的方法

本文实例讲述了PHP判断是否连接上网络的方法。分享给大家供大家参考。具体实现方法如下: 首先写个函数 function varify_url($url){ $check = @fo...

thinkphp框架实现数据添加和显示功能

thinkphp框架实现数据添加和显示功能

最近的几篇随笔将都从thinkPHP框架的使用上着笔,好了,废话不多说,下面是干货。  这篇文章将围绕采用thinkPHP框架 向数据库中添加数据 和 在网页中显示 这两项功能...

PHP+iframe模拟Ajax上传文件功能示例

PHP+iframe模拟Ajax上传文件功能示例

本文实例讲述了PHP+iframe模拟Ajax上传文件功能。分享给大家供大家参考,具体如下: 在xmlhttprequest level 1中,Ajax是不能够上传文件的,因为js不能操...

coreseek 搜索英文的问题详解

问题描述: 被搜索名字为:andy 这时搜索andy正常,但是搜索a就搜不到。 解决办法,在索引配置文件中的index中添加min_infix_len = 1最后还要重新索引一下/usr...