Discuz!您当前的访问请求当中含有非法字符,已经被系统拒绝解决办法

Discuz!系统的_xss_check()函数原本的意义是为了论坛安全,防止XSS攻击,一般网站使用是不会出现什么问题的,但是有些网站要接入第三方接口,当第三方接口向本站post…

Discuz!系统的_xss_check()函数原本的意义是为了论坛安全,防止XSS攻击,一般网站使用是不会出现什么问题的,但是有些网站要接入第三方接口,当第三方接口向本站post数据的时候就会报"您当前的访问请求当中含有非法字符,已经被系统拒绝",本文介绍一种简单的修改方法避免此错误。

解决方案如下:

\\source\\class\\discuz的discuz_application.php

查找

privatefunction_xss_check(){static$check=array('"','>','<','\\'','(',')','CONTENT-TRANSFER-ENCODING');if(isset($_GET['formhash'])&&$_GET['formhash']!==formhash()){system_error('request_tainting');}if($_SERVER['REQUEST_METHOD']=='GET'){$temp=$_SERVER['REQUEST_URI'];}elseif(empty($_GET['formhash'])){$temp=$_SERVER['REQUEST_URI'].file_get_contents('php://input');}else{$temp='';}if(!empty($temp)){$temp=strtoupper(urldecode(urldecode($temp)));foreach($checkas$str){if(strpos($temp,$str)!==false){system_error('request_tainting');}}}returntrue;}

替换为:

privatefunction_xss_check(){$temp=strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));if(strpos($temp,'<')!==false||strpos($temp,'"')!==false||strpos($temp,'CONTENT-TRANSFER-ENCODING')!==false){system_error('request_tainting');}returntrue;}

产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;

日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉

本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;

部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入

如若转载,请注明出处:https://www.chanpinyuan.cn/32569.html;
(0)
上一篇 2023年1月9日 下午4:17
下一篇 2023年1月9日 下午4:18

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部