博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
THINKPHP 防止重复提交表单 自己动手制作
阅读量:5879 次
发布时间:2019-06-19

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

hot3.png

首先在项目function.php 定义几个方法。

//创建TOKENfunction creatToken() {    $code = chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)) . chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)) . chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE));    session('TOKEN', authcode($code));}//判断TOKENfunction checkToken($token) {    if ($token == session('TOKEN')) {        session('TOKEN', NULL);        return TRUE;    } else {        return FALSE;    }}/* 加密TOKEN */function authcode($str) {    $key = "ANDIAMON";    $str = substr(md5($str), 8, 10);    return md5($key . $str);}

在需要防止重复提交的表单form中加入相关代码

...

 

1.在页面展示前调用creatToken()方法生成token。

2.在相应控制器POST请求中 使用 checkToken() 进行判断是否重复提交。

if(IS_POST){                        //防止重复提交 如果重复提交跳转至相关页面            if (!checkToken($_POST['TOKEN'])) {                 $this->redirect('index/index');                return;            }            //下面相关业务代码}else{         //创建token            creatToken();            $this->display();}

 

转载于:https://my.oschina.net/caomenglong/blog/728908

你可能感兴趣的文章
Linux 进程中 Stop, Park, Freeze【转】
查看>>
文件缓存
查看>>
远程协助
查看>>
Scrum实施日记 - 一切从零开始
查看>>
关于存储过程实例
查看>>
配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
查看>>
AIX 7.1 install python
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
福利丨所有AI安全的讲座里,这可能是最实用的一场
查看>>
开发完第一版前端性能监控系统后的总结(无代码)
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
android app启动过程(转)
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>