zoukankan      html  css  js  c++  java
  • discuz formhash

    class.core.php中      

    $this->var['formhash'] = formhash();
    define('FORMHASH', $this->var['formhash']);

    hash值生成方法

     function formhash() {
      return substr(md5(substr($this->time, 0, -4).UC_KEY), 16);
     }

    在表单中使用

    <input type="hidden" name="formhash" value="<?php echo FORMHASH;?>" />function submitcheck($var, $allowget = 0, $seccodecheck = 0, $secqaacheck = 0) {
        if(!getgpc($var)) {
            return FALSE;
        } else {
            global $_G;
            if(!empty($_G['gp_mobiledata'])) {
                require_once libfile('class/mobiledata');
                $mobiledata = new mobiledata();
                if($mobiledata->validator()) {
                    return TRUE;
                }
            }
            if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_G['gp_formhash']) && $_G['gp_formhash'] == formhash() && empty($_SERVER['HTTP_X_FLASH_VERSION']) && (empty($_SERVER['HTTP_REFERER']) ||
            preg_replace("/https?://([^:/]+).*/i", "\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^:]+).*/", "\1", $_SERVER['HTTP_HOST'])))) {
                if(checkperm('seccode')) {
                    if($secqaacheck && !check_secqaa($_G['gp_secanswer'], $_G['gp_sechash'])) {
                        showmessage('submit_secqaa_invalid');
                    }
                    if($seccodecheck && !check_seccode($_G['gp_seccodeverify'], $_G['gp_sechash'])) {
                        showmessage('submit_seccode_invalid');
                    }
                }
                return TRUE;
            } else {
                showmessage('submit_invalid');
            }
        }
    }

    表单提交验证

  • 相关阅读:
    帧同步优化难点及解决方案
    四元数
    臭鼬管理法
    十分钟理解Gradle
    深入理解Android之Gradle
    走出体制的臭鼬工厂,臭鼬著名的“14条”管理原则
    Unity5-ABSystem(五):AssetBundle内存
    Unity5-ABSystem(四):AssetBundle依赖
    Unity5-ABSystem(三):AssetBundle加载
    ASP.NET Core搭建多层网站架构【2-公共基础库】
  • 原文地址:https://www.cnblogs.com/agang-php/p/4235050.html
Copyright © 2011-2022 走看看