Css 有没有一种方法可以在不使用的情况下清理用户输入!重要吗?
我正在使用wp_编辑器在我的WordPress网站上创建一个前端表单,用户无需进入管理部分即可发布。这是可行的,但因为他们可以剪切和粘贴到其中,所以他们有可能在其中复制内联样式,这将与网站的整体设计相冲突 为了解决这个问题,我用类Css 有没有一种方法可以在不使用的情况下清理用户输入!重要吗?,css,wordpress,sass,Css,Wordpress,Sass,我正在使用wp_编辑器在我的WordPress网站上创建一个前端表单,用户无需进入管理部分即可发布。这是可行的,但因为他们可以剪切和粘贴到其中,所以他们有可能在其中复制内联样式,这将与网站的整体设计相冲突 为了解决这个问题,我用类clean将所有帖子包装在div中,它去掉了任何潜在的内联样式:下面的SCSS代码: .clean { /*Stops inline styles overwriting when people cut and paste */
clean
将所有帖子包装在div
中,它去掉了任何潜在的内联样式:下面的SCSS代码:
.clean {
/*Stops inline styles overwriting when people cut and paste */
* {
font-color: inherit !important;
font-family: inherit !important;
font-size: inherit !important;
font-weight: inherit !important;
line-height: inherit !important;
}
b, strong {
font-weight: bold !important;
}
p {
margin:0;
padding: .5em 0 !important;
-webkit-margin-before:0;
-webkit-margin-after:0;
}
}
然而,我知道使用
通常被认为是不好的做法!重要的
在css中,所以我正在寻找解决方法。这可以在css中完成吗?这听起来有潜在的危险。在将提交的html保存到数据库之前,应该对其进行清理
例如,有人可以插入以下帖子:
<a href="javascript:alert('asd')">click me</a>
这并不危险,但攻击者可以使用此方法向您的页面注入任何内容
然而,为了绕过您的示例,“攻击者”还可以包括他们自己的
块,这些块引用您页面上的任何元素,并以这种方式进行更改
在清理过程中,您可能希望删除所有标记,或者获得一个聪明的解析器来删除您不想要的部分。我个人不会允许公众用户在我的网站上插入html。对于内联样式,没有,除了实际删除内联样式之外,没有其他方法。也许您可以找到一个删除内联样式的插件?在用户发布垃圾CSS属性之前删除内联样式是否困难?似乎最好在它们成为问题之前将其删除。它不是一个公共网站,而是我公司的内部网。另外,由于wp_编辑器是一个WordPress函数,它已经内置了消毒功能。好的,我相信你的话,我想你必须定义自己的消毒功能。我已经有一段时间没用了。是否指定允许的元素列表?这个标签会被移除吗?我假设可以使用标记之类的东西,因为这就是内联样式的问题所在?