在以前,一个用户通过网络主要是获取信息。而如今的网络刚更注重与用户的交互,用户不再仅仅是网站的浏览者,也是网站内容的制造者。由以前单纯的“读”向“写”以及“共同创作”发展,由被动接收信息向主动分行信息发展。而随之而来的安全问题也成了web开发者不可忽视的问题,验证第三方来源的数据成了每个web程序必不可少的功能。 在以前,@R_301461@需要验证数据,一般都是程序员自己通过正则表达式实现,而从@R301_461@从5.2开始把原本的PCEL中的filter函数移到了内置库中,并做了不少强化,可以用这些函数实现对数据的过滤和验证。 数据来源及验证类型
@R_301_461@中的数据来源包含两部分,其一是外部变量(如POST、GET、COOKIE等),还有一种是页面内部产生的数据。@R_301_461@针对这两种数据类型分别定义了ilterinput和filtervar系列函数。而依据验证方法的不一样又可以分为Validating和Sanitizing两种。Validating用于验证数据,返回一个布尔值。Sanitizing则按规则过滤一些特定的字符,返回的是处理后的字符串。 简单用法
比如验证一个字符串是否是一个整数,在以往我们可以通过正则表达式或是is_numeric函数实现: <div class="codetitle"><a style="CURSOR: pointer" data="63378" class="copybut" id="copybut63378" onclick="doCopy('code63378')"> 代码如下: