css - 用户提供的 LESS 的安全性

标签 css less

作为我的论坛系统的一部分,用户可以通过一种方式在他们的帖子中包含 LESS。帖子内容包含在 uniqid 中-referenced ID 和 LESS 包装在 #IDhere {... } 中.这为用户的帖子提供了充分的灵 active 。

据我所知,没有办法跳出这个 block ,并确保 LESS 在使用包装器编译之前没有包装器进行语法检查。这防止了仅关闭包装器并定义最终不会被包装的样式的技巧(并简单地留下最终的 } 由包装器添加)

我在这里想不出任何问题,但我希望有另一双眼睛来看待这个问题!我是否遗漏了任何让用户对不在其指定容器内的东西进行样式设置的东西?

最佳答案

Have I missed anything that would let a user style things not inside their designated container?

是的。 & 的任何用法都允许用户将包装元素的选择器放在他们喜欢的任何地方,这允许按照以下方式使用:

p:not(&) {
    ...
}

当嵌套在类似的东西中时:

#uniqid {
    p:not(&) {
        ...
    }
}

产生:

p:not(#uniqid) {
    ...
}

这会影响每个 p 元素,假设您强制执行唯一 ID。

关于css - 用户提供的 LESS 的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33479883/

相关文章:

jquery - CSS Jquery 帮助,当 slider 改变时图像移动

html - CSS 图像未出现

css - Web Essentials 2013 减少编译错误

javascript - 从 webpack 传递 less 变量

javascript - 我怎样才能让 less.js 和 bootstrap 工作?

css - 更改 Angular Material Design 标签文本的颜色(Angular 1.3.0 和 ngMaterial 0.11)

html - 使用 CSS 左上对齐单个图像

html - Font Awesome <i> </i> 标签的 - Nibbler

css - 禁用 react 额外的 div 包装器

html - 3 列布局到 2 列布局,标记更改最少