验证规则支持对表单的令牌验证,首先需要在你的表单里面增加下面隐藏域:

<input type="hidden" name="__token__" value="{$Request.token}" />

或者

{:token()}

然后在你的验证规则中,添加token验证规则即可,例如,如果使用的是验证器的话,可以改为:

    protected $rule = ['name'  =>  'require|max:25|token','email' =>  'email',];

如果你的令牌名称不是__token__,则表单需要改为:

<input type="hidden" name="__hash__" value="{$Request.token.__hash__}" />

或者:

{:token('__hash__')}

验证器中需要改为:

    protected $rule = ['name'  =>  'require|max:25|token:__hash__','email' =>  'email',];

如果需要自定义令牌生成规则,可以调用Request类的token方法,例如:

namespace app\index\controller;use think\Controller;class Index extends Controller
{public function index(){$token = $this->request->token('__token__', 'sha1');$this->assign('token', $token);return $this->fetch();}
}

然后在模板表单中使用:

<input type="hidden" name="__token__" value="{$token}" />

或者不需要在控制器写任何代码,直接在模板中使用:

{:token('__token__', 'sha1')}

eyoucms表单令牌相关推荐

  1. thinkPHP5.0表单令牌使用

    表单令牌的作用:避免表单的重复提交(如在tp5提交成功等待跳转页面刷新页面会在次提交表单) 原理:在初始化表单时,生成一个session标识'token',提交表单时将这个token一起提交过去,然后 ...

  2. ThinkPHP6项目基操(18.实战部分 表单令牌Token 防CSRF)

    表单令牌Token 0. 前言 1. TP6 令牌token使用 1.1 表单提交 1.2 AJAX提交 2. TP6 令牌token验证 2.1 路由验证 2.2 控制器验证 2.3 验证器验证 0 ...

  3. thinkphp 表单令牌

    表单令牌 ThinkPHP支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护.要启用表单令牌功能,需要配置行为绑定, 在应用或者模块的配置目录下面的行为定义文件tags.php中 就是在你的 ...

  4. 小博老师解析Java核心技术点 ——表单令牌(一)

    2019独角兽企业重金招聘Python工程师标准>>> [理论知识] 我们在网站开发的过程中,经常需要会使用到form表单,表单提供了丰富的客户端与服务器端交互的控件.但是在开发过程 ...

  5. php token 失效时间,ThinkPHP5.1表单令牌Token失效问题的解决_php实例 - PHP

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 前言 ThinkPHP出于安全的考虑增加了表单令牌Token,由于通过Ajax异步更新数据仅仅部分页面刷新数据,就导致了 ...

  6. ThinkPHP5表单令牌+表单数据验证验证规则

    转:http://blog.163.com/zhuxun_why/blog/static/26813905020171861417642/ 表单验证真的很简单 相比较yii的表单验证tp做的很人性 也 ...

  7. 表单令牌阻止数据重复提交

    在session中存放一个特殊标志 在服务器端,生成一个唯一的标识符,将它存入session,同时将它写入表单的隐藏字段中,然后将表单页面发给浏览器,用户录入信息后点击提交,在服务器端,获取表单中隐藏 ...

  8. ThinkPHP 3.2 Token表单令牌

    /home/conf/config.php 中配置 'TOKEN_ON'=>true, 'TOKEN_NAME'=>'__hash__', 'TOKEN_TYPE'=>'md5', ...

  9. PHP表单TOKEN防止重复提交

    PHP表单TOKEN防止重复提交 一 简介 1. 什么是表单token? Token(人家就叫这名,记住就行)是服务端生成的一串字符串,以作客户端进行请求的一个令牌和依据. 2. 表单token用来干 ...

  10. JavaWeb 如何防止表单重复提交 - 使用Token,令牌

    JavaWeb 如何防止表单重复提交 - 使用Token,令牌 说到重复提交 ,应该想到两种场景: 1. 在下单,或者支付 这种情况 那么不允许  刷新,不允许后退再点击提交(后退之后提交会失败,修改 ...

最新文章

  1. iOS开发指南 从Hello World到App Store上架 第5版
  2. MyBatis学习总结(一)——MyBatis快速入门
  3. 给新手项目经理的12条建议
  4. onlevelwasloaded的调用时机
  5. 字符串与指针,数组的关系与用途
  6. 全球10亿美元以上富翁人数排名,杭州超越东京,大家怎么看
  7. python---重点(设计模式)
  8. 【C】Natasha V1.3.6.0 的升级日志
  9. MySQL的NULL值
  10. A_A03_001 stc-isp 单片机烧录软件安装与使用
  11. Python3网络爬虫:requests+mongodb+wordcloud 爬取豆瓣影评并生成词云
  12. 1.2 几个经典博弈模型(囚徒的困境、赌胜博弈、产量决策的古诺模型)
  13. 制冷与空调设备运行操作作业题库(含答案)
  14. Tomcat Get请求中文乱码
  15. Struts 2拦截器
  16. 按键精灵文字替换,文字查找代码
  17. 如何用python爬虫薅羊毛_拼多多现重大BUG被“薅羊毛”,教你如何用Python简单褥羊毛...
  18. 你不得不知道的上架app
  19. python分段函数输入x的值求y的值_C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出。有分段函数如下,编程实现输入整...
  20. 【最受欢迎最容易理解的初阶c语言教学】3.数组和字符串

热门文章

  1. [A3C]:算法原理详解
  2. ora-01033 解决方法
  3. MATLAB上根号怎么输入,在matlab里面怎么输入开方号(根号)?9的开方怎么写?...
  4. matlab多重分形广义函数谱,多重广义分形维数计算 - 程序语言 - DelphiPascal - 小木虫论坛-学术科研互动平台...
  5. IO 和NIO的区别
  6. Hadoop原理和特性
  7. jmeter使用方法和功能
  8. 深度操作系统20.2.2 发布(国产系统也可以安装安卓应用了)
  9. 把标清视频转高清Video Enhance AI for mac
  10. systrace打印