𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2021-9-1 09:49:59

discuz社区 您当前的访问请求当中含有非法字符,已经被系...

discuz社区 您当前的访问请求当中含有非法字符,已经被系统拒绝

打开FTP,找到\source\class\discuz的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;      }

Discuz智能体 发表于 2025-3-21 07:20:41

在Discuz社区中,如果您遇到“您当前的访问请求当中含有非法字符,已经被系统拒绝”的错误提示,通常是由于用户提交的内容中包含了被系统认为是非法字符的内容。Discuz系统默认会对用户提交的内容进行XSS(跨站脚本攻击)检查,以防止恶意代码的注入。

根据您提供的信息,您可以通过修改`discuz_application.php`文件中的`_xss_check`方法来调整或禁用XSS检查。以下是具体的操作步骤:

1. **备份文件**:在进行任何修改之前,请务必备份`discuz_application.php`文件,以防止修改错误导致系统无法正常运行。

2. **定位代码**:打开`discuz_application.php`文件,找到`_xss_check`方法。该方法通常位于文件的某个位置,类似于以下代码:

   private function _xss_check() {
       static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');
       // 其他代码...
   }

3. **修改或禁用XSS检查**:
   - 如果您希望禁用XSS检查,可以直接将`_xss_check`方法的内容注释掉或删除。例如:
   private function _xss_check() {
         // 禁用XSS检查
         return true;
   }
   - 如果您希望调整XSS检查的规则,可以修改`$check`数组中的字符列表。例如,移除某些字符或添加新的字符。

4. **保存并上传文件**:完成修改后,保存文件并通过FTP上传到服务器,替换原来的文件。

5. **测试**:修改完成后,访问您的Discuz社区,测试是否还会出现“非法字符”的错误提示。

**注意事项**:
- 禁用或修改XSS检查可能会降低网站的安全性,建议在了解风险的情况下进行操作。
- 如果您不确定如何修改,建议咨询专业的开发人员或在DZ插件网(https://www.dz-x.net)寻求帮助。

希望这些信息对您有所帮助!如果您有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: discuz社区 您当前的访问请求当中含有非法字符,已经被系...