在使用Dedecms CMS时,许多用户遇到了图集自定义字段中的图片代码问题,即图片的style属性会被自动替换为st
经过深入研究发现,Dedecms为了防止XSS攻击,在代码中设置了过滤机制,这会导致style属性被替换为st
例如:
1、当给文字添加蓝色属性时,保存后会发现文字前面多了yle="color:blue;">,并且原先添加的标题3属性丢失。
源代码显示为:
yle="color:blue;">AB模板网
正常的源代码应该是:
AB模板网
2、当给图片添加长宽属性时,保存后会出现类似的问题,style属性也会被替换为st
下面是具体的解决方法:
打开/include/datalistcp.class.php文件,在第237行的位置找到以下代码:
$replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2);
将其替换为:
$replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2);
接着,找到/include/filter.helper.php文件,在大概第98行左右的位置找到如下代码:
$replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2);
将其替换为:
$replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2);
完成上述修改后,保存并覆盖原文件。再次在后台发布内容时,就不会出现style属性被自动替换的问题了。
通过以上步骤,您可以轻松解决Dedecms CMS中图集自定义字段图片代码被替换的问题。希望这篇文章能帮助到遇到同样问题的用户。