Discuz!应用商城(DisMall)Discuz!应用商城(DisMall)

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 845|回复: 4

[求助] dz发帖 火车头 发布 提示含有非法字符,已经被系统拒绝

[复制链接]

11

主题

28

帖子

43

积分

Newbie

Rank: 1

贡献
0 点
金币
14 个
发表于 2021-8-18 13:58:36 | 显示全部楼层 |阅读模式
话说 都1202年了
发布个别帖子 或火车头发布的时候


系统还出现 您当前的访问请求当中含有非法字符,已经被系统拒绝

这个问题很早就出现了  ,网上的修改方法,在最新的x3.4版本里没有作用











回复

使用道具 举报

0

主题

988

帖子

1031

积分

开发者

啦啦啦~

Rank: 6Rank: 6Rank: 6

贡献
2 点
金币
8 个
发表于 2021-8-18 16:06:09 | 显示全部楼层
火车头自己的问题
回复 支持 反对

使用道具 举报

2

主题

9

帖子

10

积分

Newbie

Rank: 1

贡献
0 点
金币
1 个
发表于 2021-8-21 09:48:08 | 显示全部楼层
\source\class\discuz\discuz_application.php
打开discuz_application.php这个文件,
找到下面这段代码

private function _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 ($check as $str) {

                                if(strpos($temp, $str) !== false) {

                                        system_error('request_tainting');

                                }

                        }

                }

                return true;

        }


替换成下面这段代码

private function _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');

                }

                return true;

        }
就可以解决火车头采集非法字符了
回复 支持 反对

使用道具 举报

42

主题

1920

帖子

2181

积分

管理员

Rank: 9Rank: 9Rank: 9

贡献
0 点
金币
143 个
发表于 2021-8-21 10:19:45 | 显示全部楼层
pk9945 发表于 2021-8-21 09:48
\source\class\discuz\discuz_application.php
打开discuz_application.php这个文件,
找到下面这段代码

修改XSS注入的防护来避开这个问题可不是个好方法
回复 支持 反对

使用道具 举报

11

主题

28

帖子

43

积分

Newbie

Rank: 1

贡献
0 点
金币
14 个
 楼主| 发表于 2021-8-26 10:12:41 | 显示全部楼层
Killer 发表于 2021-8-21 10:19
修改XSS注入的防护来避开这个问题可不是个好方法

修改XSS注入的防护怎么设置
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz!应用中心 ( 皖ICP备16010102号 )|网站地图star

GMT+8, 2022-5-25 14:22 , Processed in 0.048812 second(s), 9 queries , Yac On.

Powered by Discuz!

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表