文档章节

Thinkphp表单令牌验证TOKEN_ON

freedonn
 freedonn
发布于 2014/06/05 23:00
字数 425
阅读 192
收藏 1

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

令牌验证

ThinkPHP新版内置了表单令牌验证功能,可以有效防止表单的远程提交等安全防护。

表单令牌验证相关的配置参数有:

'TOKEN_ON'=>true,  // 是否开启令牌验证

'TOKEN_NAME'=>'__hash__',    // 令牌验证的表单隐藏字段名称

'TOKEN_TYPE'=>'md5',  //令牌哈希验证规则默认为MD5

如果开启表单令牌验证功能,系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐藏域,其值则是TOKEN_TYPE方式生成的哈希字符串,用于实现表单的自动令牌验证。

自动生成的隐藏域位于表单Form结束标志之前,如果希望自己控制隐藏域的位置,可以手动在表单页面添加 标识,系统会在输出模板的时候自动替换。如果在开启表单令牌验证的情况下,个别表单不需要使用令牌验证功能,可以在表单页面添加{__NOTOKEN__},则系统会忽略当前表单的令牌验证。

如果页面中存在多个表单,建议添加标识,并确保只有一个表单需要令牌验证。

模型类在创建数据对象的同时会自动进行表单令牌验证操作,如果你没有使用create方法创建数据对象的话,则需要手动调用模型的autoCheckToken方法进行表单令牌验证。如果返回false,则表示表单令牌验证错误。例如:

$User = M("User"); // 实例化User对象

// 手动进行令牌验证

if (!$User->autoCheckToken($_POST)){

// 令牌验证错误


freedonn

freedonn

粉丝 25
博文 258
码字总数 16565
作品 0
潍坊
程序员
私信 提问
加载中
请先登录后再评论。
ThinkPHP 模块与操作 系统配置

ThinkPHP 模块 进入 MyappLibAction 目录,里面有个 IndexAction.class.php 文件。该文件为刚才我们运行入口文件 index.php 时系统自动生成的。打开该文件,其内容大致如下(方法内具体代码省...

mickelfeng
2012/11/26
155
0
ThinkPHP3.1 安全快速入门

ThinkPHP3.1 安全快速入门 在开发过程中,除了确保业务逻辑没有安全隐患外,应该充分了解和利用框架内建的安全机制或者工具来确保应用以及服务器的安全性,下面我们总结下ThinkPHP中涉及到的...

橙汁儿
2012/11/23
1.7K
7
ThinkPHP3.1 安全要点

在开发过程中,除了确保业务逻辑没有安全隐患外,应该充分了解和利用框架内建的安全机制或者工具来确保应用以及服务器的安全性,下面我们总结下ThinkPHP中涉及到的安全机制。 系统安全 系统安...

brivio
2014/01/03
159
0
thinkphp验证器

验证器类:$validate=new thinkValidate($rule,$message,$field); 注意:开启表单令牌后需要验证它哦 独立验证: //独立验证$rule=[ ]$msg=[ ];$field = [ ];$validate = new Validate($rule...

osc_z5nf1pyi
2019/02/25
2
0
ThinkPHP中的create方法与自动令牌验证

user表结构 id username password aoliHomeTpldefaultUsercreate.html <form action="URL/addit" method="post"> <input type="text" name="id" /> <input type="text" name="username" /> <......

freedonn
2014/06/01
29
0

没有更多内容

加载失败,请刷新页面

加载更多

​DAX 2 中文版在线学习

阅读学习传送门 本文分享自微信公众号 - PowerBI战友联盟(powerbichina)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

BI佐罗
2019/11/17
0
0
《OpenCV 4快速入门》终于见面啦!

近几个月以来,有众多小伙伴在公众号后台或者微信群里询问《OpenCV 4快速入门》出版的进度。非常感谢大家对本书的关注和期待,经过了不断地修改和完善,这次终于可以大声的告诉各位小伙伴。 ...

小白学视觉
06/16
0
0
GitHub 通过 jsdelivr CDN加持

GitHub 通过 jsdelivr CDN加持 两种引用方式: 存入仓库分支里面,直接引用 创建版本号后,在引用 在这是不是很好奇,为什么引用要弄成这么麻烦。网上我看过类似教程,他们总是忽略一个关键的...

Zero游戏人生丶
36分钟前
0
0
百人计划 5期 启动报名

温馨提醒: 1. 在2月22日24点前,此公号后台回复「百人计划」可先预定再报名,可以省100 RMB 2. 在2月25日24点前,报名成功的,省50 RMB 3. 一旦报名,一律不退费(建议报名前,想清楚,再报...

IDO老徐
02/20
8
0
Android小知识-如何加载外部dex文件中的类

想要了解插件化,首先得知道如何加载外部的dex文件,这里的插件APK会存放在主APP的assets目录中,用于模拟服务器下载插件。 第一步:创建主项目和插件项目 先创建我们的主项目,并在项目中创...

音视频开发进阶
05/13
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部