zoukankan      html  css  js  c++  java
  • 防止重复提交表单

    防止重复提交表单, 需要从两方面防范:前端和后端

    一、前端(防止重复提交表单)

    <script type="text/javascript">
        // 防止重复提交表单
        var isCommitted = false;
        function checkPost() {
            if (!isCommitted) {
                isCommitted = true;
                return true;
            }else {
                alert("不能重复提交表单,请等待片刻");
                return false;
            }
        }
    </script>

    二、后端(防止重复提交表单)

        protected static $form_token_key = "xxxr_pay_form_token";
    
        public function xxxx() { 
    
            // ……………………
            // 防止页面重复提交的token
            $form_token = md5(microtime(true));
            session(self::$form_token_key, $form_token);
            $this->assign('form_token', $form_token);
       
        }
    
        public function do_xxxx() {
    
             // ………………
      
            // 防止页面重复提交的token
            $form_token = I('post.form_token', '');
            $s_form_token = session(self::$form_token_key);
            session(self::$form_token_key, null);
            if (empty($form_token) || $s_form_token != $form_token) {
                Log::record('重复提交表单', 'DEBUG');
                $this->error('禁止重复提交订单', $success_url, 2);
                exit();
            }
    
        }
  • 相关阅读:
    JavaScript 闭包究竟是什么
    Javascript闭包简单理解
    使用border做三角形
    负边距在布局中的使用
    direction和unicode
    CSS 实现打字效果
    你可能没注意的CSS单位
    前端模块化
    JavaScript面向对象
    阿里前端两年随想
  • 原文地址:https://www.cnblogs.com/wangyuman26/p/6813310.html
Copyright © 2011-2022 走看看