分享

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

 火炉与猫咪 2019-04-22

命令行的最常用:


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

注意:是先在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、控制器调用




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多