站長教程: Discuz! 6.1.0提示來路資訊不正确問題的解決辦法
在discuz安裝目錄下的include目錄找到global.func.php這個檔案。找到submitcheck這個函數,把其中的
if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' && $GLOBALS['formhash'] == formhash() && (empty($_SERVER['HTTP_REFERER']) || preg_replace("/https?:([^/://]+).*/i", "//1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^/:]+).*/", "//1", $_SERVER['HTTP_HOST'])))) {
替換為
if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' && $GLOBALS['formhash'] == formhash())){
儲存退出即可。
其中删除或者注釋掉的語句的意思是:檢查HTTP_REFERER資訊,如果和目前主機域名不相符,就提示來路資訊錯誤。
對于一些被防毒軟體(如諾頓或瑞星)屏蔽了來路資訊,或者使用域名自動解析和squid鏡像伺服器的情況,都會被discuz提示來路資訊不正确。
感謝comsenz的deepseath大俠提供的技術指導!