首页> 实战笔录 >PHP开发笔记 >ThinkPHP ThinkPHP
TP3.2输入验证和I方法使用
作者:小萝卜 2019-11-21 【 TP3.2 】 浏览 2949
简介在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了。
在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了。
在接收变量之前,可以先对请求来源(方式)进行判断
在很多情况下面,我们需要判断当前操作的请求类型是GET 、POST 、PUT或 DELETE,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。
我们不建议直接使用传统方式获取,因为没有统一的安全处理机制,后期如果调整的话,改起来会比较麻烦。所以,更好的方式是在框架中统一使用I函数进行变量获取和过滤。
I方法是ThinkPHP众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量。
echo I('get.id'); // 相当于 $_GET['id']
echo I('get.name'); // 相当于 $_GET['name']
变量过滤
// 系统默认的变量过滤机制
'DEFAULT_FILTER' => 'htmlspecialchars'
第三个参数可以传入函数名,则表示调用该函数对变量进行过滤并返回(在变量是数组的情况下自动使用array_map
进行过滤处理),否则会调用PHP内置的filter_var
方法进行过滤处理,例如:
I('post.email','','email');
系统自带的的函数有:
int
boolean
float
validate_regexp
validate_url
validate_email
validate_ip
string
stripped
encoded
special_chars
unsafe_raw
email
url
number_int
number_float
magic_quotes
callback
如果未通过验证,则返回空字符串
很赞哦! (0)
上一篇:TP3.2同时操作多个数据库