博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(11)学习tp5之命令行的使用和验证表单令牌
阅读量:3780 次
发布时间:2019-05-22

本文共 915 字,大约阅读时间需要 3 分钟。

系统学习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、控制器调用

你可能感兴趣的文章
static_cast、dynamic_cast、const_cast和reinterpret_cast总结
查看>>
Dynamic/Static/Reinterpret/Const and Volatile Cast (English)
查看>>
C++ reinterpret_cast,const_cast等 显式类型转换总结
查看>>
GetLBText()和GetWindowText()区别
查看>>
Win32串行通信中文版(Serial Communications In Win32)
查看>>
strtok、strtok_s、strtok_r 字符串分割函数
查看>>
在串口通信开发中实现自动查找串口端口的方法
查看>>
串口编程-枚举遍历串口、获取PC所有串口名称、遍历注册表项、RegEnumValue用法
查看>>
strcmp与strncmp的区别
查看>>
strnicmp,strncmpi方法
查看>>
char与wchar_t函数对照表
查看>>
_tcsnicmp&_wcsnicmp
查看>>
WCHAR,CHAR,TCHAR的区别
查看>>
实战串行通讯
查看>>
非窗口消息
查看>>
Windows消息:WM_USER与WM_APP的区别
查看>>
Windows消息:如何自定义窗口消息与线程消息
查看>>
Windows消息:怎样使用RegisterWindowMessage注册消息
查看>>
CreateCompatibleDC 与 CreateCompatibleBitmap 小小结
查看>>
MultiSlider组件
查看>>