(11)学习tp5之命令行的使用和验证表单令牌

系统学习tp5框架,请点击下面的连接

(1)学习tp5之助手函数得原理解析

(2)学习tp5之常量、自动加载、命名空间

(3)学习tp5之配置文件

(4)学习tp5之路由类型,定义,动态注册,过滤,闭包,miss(默认),资源路由

(5)学习tp5之请求

(6)学tp5之响应

(7)学习tp5之控制器原理和使用

(8)学习tp5之ORM操作数据库

(9)学习tp5之模型

(10)学习tp5之视图

(11)学习tp5之命令行的使用和验证表单令牌

(12)学习tp5之验证码和缓存

(13)学习tp5之上传图片

(14)学习tp5之日志

(15)学习tp5之 自定义命令行


命令行的最常用:


手册-》命令行-》自动生成目录结构。

注意:是先在build.php(右侧)中配置-》执行命令(在最下面)-》才生成好的目录(左侧栏)

自动生成继承好的控制器类 或 模型类(手册-》命令行-》创建类库文件)

注意:默认创建7个资源路由方法




验证


总结:

1、验证规则分2种:框架自带的(内置规则)、自定义的(用正则)

路由:


验证分4种:

1、控制器验证(手册-》验证-》控制器验证):其实它指的是调用控制器基类提供的$this->validate()进行验证

2、模型验证。没用过

3、独立验证(手册-》验证-》验证):它是在控制器中,定义验证规则,new 验证器类在操作...(相当于所有的操作都写在控制器的方法中,这样不好的地方就是代码不能复用)

Route::get('index','index/VaData/index');  //手册-》验证-》独立验证
Route::post('login','index/VaData/login');



4、验证器(手册-》验证-》验证):单独定一个验证器类,在里面写验证规则、错误信息等。在控制器中使用静态方法调用Loader::validate('验证器类'),在进行效验。官方推荐用法

因为:验证是个功能,应该单独分离出来

定义验证器的代码:


模板代码:


控制器中的代码:




表单令牌

令牌:为了安全考虑,非本表单的提交。都不会有后续操作(因为服务端没有接收到令牌)

案例1:机器人批量注册

人家直接甩过来一批账号,往你表里插,验证码只能挡住一部分。但我们使用表单令牌就不一样了。如果服务器端没有接收到令牌,就知道用户没有访问html页面(没有通过表单进行提交),就不会再有后续操作了

案例2:爬虫登录时

如果服务器端没有接收到令牌,就知道这可能是爬虫了,因为它不是通过表单进行提交的,就不会让他登录成功,当然人家可能会该模拟__token__(右键查看源码模拟不了__token__,因为你查看源代码后在提交就会报token失效了

思路:

1、先在模板中加入隐藏域

2、在验证规则中加入token

3、控制器调用






  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值