使用CSS取消用户提交的格式

时间:2011-09-01 22:52:08

标签: css

我正在制作一份接受公众提交的在线出版物。我的WYSIWYG编辑器设置为去除任何嵌入的样式/类标记(编辑器允许的那些除外),并且我还在保存时在服务器端检查它。作为第三层防御,我想实现一些CSS覆盖,以取消嵌入在页面的某个元素中的任何CSS指令。这可能吗?我不会想象嵌入式style属性,但可能是嵌入式<style></style>块和class属性?

2 个答案:

答案 0 :(得分:0)

您可以在样式表中使用!important来确保您的规则胜过任何其他样式,内联或其他样式等。实例:http://jsfiddle.net/tw16/WpktM/

<div class="override" style="background:salmon; height: 50px; width: 50px;"></div>

.override{
    height: 200px !important;
    width: 200px !important;
    background: skyblue !important;
}

答案 1 :(得分:0)

简单地禁止链接和样式标记(或将其开头&lt;变成&amp; lt;)然后使用XML解析器从单个标记中删除样式属性然后插入到标记中将更容易,更可靠数据库中。

顺便说一下,摆脱所有不需要的属性的快速而肮脏的方法是简单地使用字符串替换并将=交换为&#61;