为什么进后台 一直出现这个 Malicious Request

 

 

为什么进后台 一直出现这个 Malicious Request为什么进后台 一直出现这个 Malicious Request是函数check_token()的问题,该函数的作用是有效防止表单的远程提交,防止返回刷新重复提交等安全防护。
当你发布文章的时候,表单里会产生一个隐藏的字段。提交表单时该函数就是检测改隐藏字段的值。不通过时就会抛出错误“Malicious Request”,并且终止程序。
解决办法:
(1)检查看看表单是否正确生成隐藏字段hiddentoken的值,如果正确生成再看看是否通过以下代码的检测: $page=!empty($_SERVER['PHP_SELF'])?md5($_SERVER['PHP_SELF']):'token';

$hiddentoken=$_POST['hiddentoken']?$_POST['hiddentoken']:$_GET['hiddentoken'];

if ($_SESSION['token'][$page]!=$hiddentoken)

{

unset($_SESSION['token'],$hiddentoken);

exit("Malicious Request");

}
复制代码(2)如果你对php不是很熟悉的话,你可以用最快也是最简洁的办法:把 根目录\admin\include\admin_common.fun.php文件里的函数check_token()的逻辑注释掉吧。就是function check_token()

{/*

global $_CFG;

if (empty($_SESSION['token']))

{

unset($_SESSION['token']);

exit("Malicious Request");

}

else

{

$page=!empty($_SERVER['PHP_SELF'])?md5($_SERVER['PHP_SELF']):'token';

$hiddentoken=$_POST['hiddentoken']?$_POST['hiddentoken']:$_GET['hiddentoken'];

if ($_SESSION['token'][$page]!=$hiddentoken)

{

unset($_SESSION['token'],$hiddentoken);

exit("Malicious Request");

}

}

unset($_SESSION['token'],$hiddentoken);

if(!preg_match("/".str_replace('/','\/',$_CFG['site_dir'].str_replace(QISHI_ROOT_PATH,'',ADMIN_ROOT_PATH))."/", $_SERVER['HTTP_REFERER']))

{

exit("Malicious Request");

}*/

}
复制代码 

 

TAG:

评论加载中...
内容:
评论者: 验证码:
  

 

技术支持
点击这里给我发消息
业务咨询
点击这里给我发消息