在/module/member/common.inc.php文件里面,有下面这段代码
check_post() or dalert($L['bad_data']);//safe
通过分析,真正的作用代码在global.func.php文件的函数check_referer
function check_referer() {
global $DT_REF, $CFG, $DT;
if($DT['check_referer']) {
if(!$DT_REF) return false;
$R = parse_url($DT_REF);
if($CFG['cookie_domain'] && strpos($R['host'], $CFG['cookie_domain']) !== false) return true;
if($CFG['com_domain'] && strpos($R['host'], $CFG['com_domain']) !== false) return true;
if($DT['safe_domain']) {
$tmp = explode('|', $DT['safe_domain']);
foreach($tmp as $v) {
if(strpos($R['host'], $v) !== false) return true;
}
}
$U = parse_url(DT_PATH);
if(strpos($R['host'], str_replace('www.', '.', $U['host'])) !== false) return true;
return false;
} else {
return true;
}
}
$DT['check_referer'] 这个对应的是后台的“验证数据来源”,只要把它关闭了就可以了。位置在
系统维护-->系统设置-->网站设置-->安全中心
今天突然遇到这个问题?!以前正常。是不是官方远程更新了部分文件呢?