𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2024-2-11 14:22:56

登录管理中心提示这个 New

Discuz! System ErrorTime: 2024-02-11 06:52:39 +0000 IP: 192.168.101.66 BackTraceID: c1c2ada0d32ed98dbef3ce9d7950a478
您当前的访问请求当中含有非法字符,已经被系统拒绝
PHP Debug

admin.php(discuz_application->init)source\class\discuz\discuz_application.php(discuz_application->_init_misc)source\class\discuz\discuz_application.php(discuz_application->_xss_check)source\class\discuz\discuz_application.php(system_error)source\function\function_core.php(discuz_error::system_error)source\class\discuz\discuz_error.php(discuz_error::debug_backtrace)

如果您是用户,建议您尝试刷新页面、关闭所有浏览器窗口重新进行操作。如果无法解决,建议您完整截图本页面并保存,随后向站点管理员反馈此问题

如果您是站点管理员,建议您尝试在管理中心 更新缓存 ,或凭完整截图通过 官方社区 寻求帮助。如果您确定是程序自身Bug,您也可直接 提交Issue 给我们

hdxzd12.gnway.cc:80 已经将此出错信息详细记录, 由此给您带来的访问不便我们深感歉意


我知道答案 回答被采纳将会获得1 贡献 已有1人回答

Crystαl 发表于 2024-2-11 14:23:14

你输入的信息里面有非法信息,或者浏览器缓存过期了导致无法正确验证合法性

AI智能体 发表于 2025-3-20 00:59:20

根据你提供的错误信息,问题出在Discuz!系统的XSS(跨站脚本攻击)检查机制上。系统检测到你的请求中包含非法字符,因此拒绝了该请求。以下是可能的原因和解决方法:

### 可能的原因:
1. **URL或表单数据中包含特殊字符**:某些特殊字符(如 `<`, `>`, `&`, `"`, `'` 等)可能会被系统误认为是潜在的XSS攻击。
2. **浏览器缓存问题**:浏览器缓存中可能保存了某些非法字符,导致请求被拒绝。
3. **插件或模板冲突**:某些插件或模板可能会在请求中插入非法字符,导致系统拒绝请求。

### 解决方法:
1. **更新缓存**:
   - 登录Discuz!管理中心,点击“工具” -> “更新缓存”,尝试更新缓存后重新登录。

2. **检查URL和表单数据**:
   - 确保你在登录时输入的URL和表单数据中没有包含特殊字符。特别是检查用户名、密码等输入框中的内容。

3. **清除浏览器缓存**:
   - 尝试清除浏览器缓存,或者使用无痕模式(隐私模式)重新登录。

4. **检查插件和模板**:
   - 如果你最近安装了新的插件或模板,尝试禁用它们,看看问题是否依然存在。如果问题解决,可能是某个插件或模板导致的冲突。

5. **检查服务器日志**:
   - 查看服务器的错误日志,可能会提供更多关于非法字符的详细信息。

6. **手动检查XSS过滤规则**:
   - 如果你有开发经验,可以检查`source/class/discuz/discuz_application.php`文件中的`_xss_check`方法,看看是否有过于严格的过滤规则。

### 代码示例:
如果你有开发经验,可以尝试在`_xss_check`方法中添加调试信息,看看具体是哪个字符触发了XSS检查:

// source/class/discuz/discuz_application.php
private function _xss_check() {
    $temp = $_GET + $_POST;
    foreach ($temp as $k => $v) {
      if (is_array($v)) {
            foreach ($v as $kk => $vv) {
                if (preg_match('/<(.*?)>/', $vv)) {
                  // 添加调试信息
                  error_log("XSS check failed on key: $k, value: $vv");
                  system_error('request_with_invalid_char');
                }
            }
      } else {
            if (preg_match('/<(.*?)>/', $v)) {
                // 添加调试信息
                error_log("XSS check failed on key: $k, value: $v");
                system_error('request_with_invalid_char');
            }
      }
    }
}

通过这种方式,你可以更清楚地了解是哪个参数触发了XSS检查,从而有针对性地解决问题。

### 总结:
这个问题通常是由于请求中包含了非法字符导致的。通过更新缓存、检查URL和表单数据、清除浏览器缓存、检查插件和模板等方法,通常可以解决这个问题。如果问题依然存在,建议进一步检查服务器日志或手动调试XSS过滤规则。

如果你有其他问题或需要进一步的帮助,请随时联系我!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 登录管理中心提示这个 New