搜索
系统检测到您的用户名不符合规范:

基于ThinkPHP5的表单令牌

浏览:11574 发布日期:2016年07月20日 分类:系统代码 关键字: thinkphp5 表单令牌
基于最新版ThinkPHP5的表单令牌行为扩展
最近使用ThinkPHP5开发项目,在提交表单时为了避免一些重复提交及安全防护处理时想到了表单令牌。

查了一下官方的开发手册,发现上面跟本没有任何表单令牌的字眼。后来在git的官方扩展库里找到了一个基础的表单令牌行为扩展,下载下来放到项目里读了一下源码做了基础配置后,可以生成表单令牌了,但在业务处理中没有令牌验证功能。而且也没有详细文档,在使用ajax提交时也是问题多多。

后来自己经过了一翻改造后可以正常使用了,在此分享给大家。废话不多说了,上步骤:

【注意:使用此扩展验证ajax提交的数据时需jquery的支持】

1、将附件中的文件放到自己项目的相应目录中。(注:如果application/tags.php文件有数据,请手动加入如下配置项。)// 系统行为定义
return [
'module_init' => [
'app\\common\\behavior\\Token'
],
'view_filter' => [
'app\\common\\behavior\\Token'
],
'app_end' => [
'app\\common\\behavior\\Token'
]
];
2、在application/config.php中加入如下配置 // +----------------------------------------------------------------------
// | 表单令牌配置
// +----------------------------------------------------------------------
'token' => [
'token_on' => true,
'token_name' => '__hash__',
'token_type' => 'md5',
'token_reset' => true,
]
3、在后台数据提交业务中使用如下方法进行令牌验证,checkToken的参数$data为当前提交的表单数据,也可留空。留空时会从post中自动获取 // 使用表单令牌认证
if(false === request()->checkToken($data)){
$this->error = "表单令牌数据验证失败!";
return false;
}
OK,大功告成。尽情享用表单令牌的乐趣吧!

附件 thinkphp5 表单令牌行为扩展.zip ( 4.23 KB 下载:586 次 )

评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
5ini99
积分:3132 等级:LV4
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /