升级至最新XOOPS 2.2 简体中文版 RC2时,执行xoopsupdate.php 后,还是跳至 error.php?c=1 页面,该页面出现错误提示:
引文:
为什么我会被重定向到这个页面?
"XOOPS Site" 的网站安全检查程序检测你的计算机启用了防火墙从而无法在该网站注册。我们采用了'Referrer-checking'技术确保只有被授权的用户才能发布内容. 你的防火墙设置阻止了你的相关信息,从而阻止了你下一步的操作.
...
...
...
----------------------------------------------------------
问题还是没有解决! 怎么办?
如果你是该网站管理员,请按下面步骤; 否则, 请转告该网站管理员
1. 打开 你的XOOPS根目录/mainfile.php
2. 在这个文件的 "<?php" 之后, 'include XOOPS_ROOT_PATH."/include/common.php";' 之前的任意地方添加一句
define("XOOPS_REFERERCHECK_SKIP", 1);
3. 如果已经存在类似于 'define("XOOPS_REFERERCHECK_SKIP", *);' 的文字,把它修改为 'define("XOOPS_REFERERCHECK_SKIP", 1);'
注: 该方案有安全隐患,风险自负!
经查mainfile.php文件中没有'include XOOPS_ROOT_PATH."/include/common.php";'
只有这句:
引文:
if (!isset($xoopsOption['nocommon']) && XOOPS_ROOT_PATH != '') {
require XOOPS_ROOT_PATH."/include/common.php";
于是在其上加入:
引文:
define("XOOPS_REFERERCHECK_SKIP", 1);
再次执行xoopsupdate.php后问题解决。
D.J.能否告之这种做法有何安全隐患?与修改class/xoopssecurity.php 文件有何不同?