站长教程: 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大侠提供的技术指导!