用户生成的内联CSS是否存在任何安全风险

<div style='user input here'></div>

存储用户生成的CSS代码并将其输出是否存在任何安全风险。我知道我们可以在几乎任何浏览器上执行此操作,我只想确保在允许用户将所需的任何代码放入属性内时注意所有需要注意的事项。

只需添加问题以获取更多信息:如果使用正则表达式仅允许数字(0-9),字母(az)以及其他一些诸如井号(#)的内容,该怎么办对于#000或方括号(())和逗号(,),对于rgba(128,128,128,0.5)也许也是句号(。)。百分比(%)吗?

如果我使用以上任何一项进行了正则表达式,都会带来安全风险吗?如果是这样,那将是哪个?那么只列出一些CSS代码的白名单呢,有没有绝对不会带来安全风险的CSS样式?

nut0032 回答:用户生成的内联CSS是否存在任何安全风险

如果您不对用户的字符串值进行编码,则他们可以利用带引号的html结构。

例如,这将无效:

<div style="<script>harmfulJavascript();</script>"></div>

但是,如果允许用户 break 用引号完成html属性,那么他们可以向DOM添加任何内容。

用户字符串:

"><script>harmfulJavascript();</script></div>

结果:

<div style="">
    <script>harmfulJavascript();</script>">
</div>
本文链接:https://www.f2er.com/3165745.html

大家都在问