首页> 实战笔录 >PHP开发笔记 >ThinkPHP ThinkPHP
TP3.2输入验证和I方法使用
作者:小萝卜 2019-11-21 【 TP3.2 】 浏览 3302
简介在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同时操作多个数据库
相关文章
- thinkphp6 使用 jwt 生成 token 中间件验证token
- TP6批量打包下载文件图片
- TP6阿里云OSS上传报SSL certificate problem:unable to get local issuer certificate
- TP5.0 给图片加文字水印怎么控制文字的透明度
- TP6使用JWT实现中间件验证Token,验证用户登录信息
- PHP/TP5使用supervisor/workerman在CLI模式下mysql断线重连解决办法
- tp6表单验证提交之后报错Call to a member function set() on null
- TP5.1微信小程序支付功能服务器端代码分享
- TP6插入数据自动写入时间
- TP6文件上传详解