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');
            }
        }
    }

    表单提交验证

  • 相关阅读:
    struts文件上传,获取文件名和文件类型
    commons-fileupload.jar实现文件上传
    DiskFileItemFactory类的使用
    css控制两个表格的边线重合
    css控制同一个页面的两个表格,一个显示有边框线,而另一个没边框线
    Android无线调试_adbWireless
    Android无线调试(转)
    struts2用到的jar有那些
    Eclipse 中 Could not find *.apk的解决方案
    JavaScript修改注册表
  • 原文地址:https://www.cnblogs.com/agang-php/p/4235050.html
Copyright © 2011-2022 走看看