本帖最后由 guokeivy 于 2009-11-9 17:13 编辑
function submitcheck($var) {
if(!empty($_POST[$var]) && $_SERVER['REQUEST_METHOD'] == 'POST') {
if((empty($_SERVER['HTTP_REFERER']) || preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])) && $_POST['formhash'] == formhash()) {
return true;
} else {
showmessage('submit_invalid');
}
} else {
return false;
}
}
//产生form防伪码
function formhash() {
global $_SGLOBAL, $_SCONFIG;
if(empty($_SGLOBAL['formhash'])) {
$hashadd = defined('IN_ADMINCP') ? 'Only For 175173 Angel AdminCP' : '';
$_SGLOBAL['formhash'] = substr(md5(substr($_SGLOBAL['timestamp'], 0, -7).'|'.$_SGLOBAL['supe_uid'].'|'.md5($_SCONFIG['sitekey']).'|'.$hashadd), 8, 8);
}
return $_SGLOBAL['formhash'];
}
谁熟悉正则表达式? 帮我改一下,只验证顶级域名,不验证2级域名来判断是否属于同一个站! |