Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 有没有一种方法可以在不使用的情况下清理用户输入!重要吗?_Css_Wordpress_Sass - Fatal编程技术网

Css 有没有一种方法可以在不使用的情况下清理用户输入!重要吗?

Css 有没有一种方法可以在不使用的情况下清理用户输入!重要吗?,css,wordpress,sass,Css,Wordpress,Sass,我正在使用wp_编辑器在我的WordPress网站上创建一个前端表单,用户无需进入管理部分即可发布。这是可行的,但因为他们可以剪切和粘贴到其中,所以他们有可能在其中复制内联样式,这将与网站的整体设计相冲突 为了解决这个问题,我用类clean将所有帖子包装在div中,它去掉了任何潜在的内联样式:下面的SCSS代码: .clean { /*Stops inline styles overwriting when people cut and paste */

我正在使用wp_编辑器在我的WordPress网站上创建一个前端表单,用户无需进入管理部分即可发布。这是可行的,但因为他们可以剪切和粘贴到其中,所以他们有可能在其中复制内联样式,这将与网站的整体设计相冲突

为了解决这个问题,我用类
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函数,它已经内置了消毒功能。好的,我相信你的话,我想你必须定义自己的消毒功能。我已经有一段时间没用了。是否指定允许的元素列表?这个标签会被移除吗?我假设可以使用

标记之类的东西,因为这就是内联样式的问题所在?