CodeAE 发表于 2021-8-19 20:32:08

DiscuzX 3.4代码框不能解析\" 字符

在Discuz使用过程中我们发现,添加插入代码功能后不能解析 \" 字符,这个是由于DZ官方防止注入攻击相关的代码功能造成的……!我们只需修改一个php文件即可解决!
举例说明
在编辑框里使用插入代码功能,插入代码
在编辑状态下看到是有\" 字符的

发布后发现少了\" 字符

解决方案:
问题定位
source/function/function_discuzcode.php(第 56 行)找到以下代码:
$code = dhtmlspecialchars(str_replace('\\"', '"', $code));注:以上该处代码字符串替换含义不明,该处替换导致\" 字符串被替换为 "

替换为:
$code = dhtmlspecialchars($code);
修改完成后即可正常显示\"、\\"等字符。
注意:原代码是DZ官方相关防止注入攻击的代码,取消会不会导致安全问题暂未知!

该修复方案来自DZ官方在gitee发布的凝问解答:https://gitee.com/Discuz/DiscuzX/issues/I45L3H

页: [1]
查看完整版本: DiscuzX 3.4代码框不能解析\" 字符