首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当我通过Safecracker发布时,我的字体和颜色会从Wygwam中剥离?

为什么当我通过Safecracker发布时,我的字体和颜色会从Wygwam中剥离?
EN

Stack Overflow用户
提问于 2012-11-07 06:39:45
回答 3查看 318关注 0票数 3

我遇到了Wygwam和Safecracker的问题。当我为一个字段扩展Wygwam配置(比如添加font-color),然后在Safecracker中的字段上使用该选项时,HTML似乎被剥离了,如下所示:

而不是这样:

代码语言:javascript
复制
<p>
<span style="color:#ff0000;"><span style="font-size:16px;"><span style="font-family:georgia,serif;">Why aren&#39;t you saving???</span></span></span></p>

我得到了这个(在提交之后):

代码语言:javascript
复制
<p>
<span><span>&lt;span new,courier,monospace;&quot;=&quot;&quot;&gt;Why aren&#39;t you saving???</span></span></p>

我确定这是由于Safecracker中的XSS过滤造成的,有什么好的解决方案来解决这个问题吗?我使用的是Wygwam的2.6.3和EE 2.5.3 (Safecracker 2.1)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-07 07:17:11

看一下system/expressionengine/modules/safecracker/libraries/safecracker_lib.php的1281行,你会看到:

代码语言:javascript
复制
//@TODO what to do about xss_clean and "naughty" html
//for now you can crack open this file and manually add fields_ids and/or field types to the respective arrays
//to prevent xss_clean
//i had some people complain about not being able to submit <object>'s
$xss_clean = ( ! in_array($field['field_id'], $this->skip_xss_field_ids) && ! in_array($field['field_type'], $this->skip_xss_fieldtypes));

这个数组似乎是专门用来帮助您的情况的(希望跳过安全黑客字段上的XSS过滤)。

该数组在同一文件的第2612行附近初始化:

代码语言:javascript
复制
$this->skip_xss_field_ids = array();

因此,您应该能够简单地将字段ID添加到此数组中,以跳过XSS过滤,如下所示:

代码语言:javascript
复制
$this->skip_xss_field_ids = array(37, 81);

请记住,这是一个非常非常糟糕的想法的。在这一点上,用户现在可以在他们的wygwam字段中添加任意的javascript,你已经有效地向XSS attacks开放了你的网站(恶意用户可以劫持其他用户的会话并做他们想做的任何事情)。

票数 3
EN

Stack Overflow用户

发布于 2012-11-07 09:54:32

禤浩焯说的都是对的。但是,如果您不允许访客通过此表单发布内容,并且它只针对经过批准的注册用户,那么XSS威胁就会减轻。实际上,当您在CP中提交条目时,字段不会传递给XSS过滤器。

票数 6
EN

Stack Overflow用户

发布于 2012-11-07 19:15:52

如果你将"removeFormatAttributes“设置应用于你的Wygwam配置,它将去掉样式属性(以及其他属性)。

转到Add-ons -> Modules -> Wygwam,然后单击要用于相关字段的配置集。在那里,您可以选择各种设置来影响该设置的工作方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13260563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档