gpt4 book ai didi

html - 为什么 "display"css 属性不在 owasp java 库的默认白名单中?

转载 作者:太空宇宙 更新时间:2023-11-04 10:26:39 25 4
gpt4 key购买 nike

我目前正在使用 owasp java library在后端服务上,以清理从客户端发送的 HTML。 owasp java 库有一个 CSS 规则的 CSS 白名单,它将允许在 html 元素内的任何样式标签内。你可以找到白名单 here .

关于此白名单,我注意到的一件事是省略了 display 属性。这意味着如果我创建如下 HTML 代码:

<div style="margin-left:0px;display:none;"></div>

然后带有默认样式白名单的 HTML sanitizer 将去除显示规则,服务器上保存的 HTML 将是:

<div style="margin-left:0px;"></div>

为什么 display 属性默认没有列入白名单?

最佳答案

因为其他白名单样式将因该元素根本未显示而无法工作

更新

display has a lot of weird edge cases that affect layout in weird ways.

inline, block, and inline-block are likely safe in most contexts.

fixed is probably safe in none.

table and others are probably dodgy since there may be ways to break visual containment.

Even block and inline block can break visual containment for example with a policy that only allows inline tags when the embedder fixes the width of the container and doesn't hide overflow.

Source

关于html - 为什么 "display"css 属性不在 owasp java 库的默认白名单中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com