我正在使用lxml.html.clean清理html。它似乎从所有的标记中删除了“样式”属性,并且出于我的目的,我需要不删除样式属性。在
在我开始允许之前,我很想知道在清理html时不删除样式属性是否有安全隐患。在
任何关于这件事的见解都将受到高度赞赏。在
(请注意,我的应用程序允许最终用户创建html,该html保存在后端数据库中,然后呈现在页面上上面的“清除”可以很好地从html中删除任何恶意的html(如javascript等),然后再保存以供后续呈现)。在
Perfeedparser HTML sanitisation web site-“style”不在“safe属性”列表中
(另外,如果这是一个过激的问题,那很抱歉。我不熟悉html/卫生处理和相关的安全方面)
在正常情况下,样式本身不存在安全风险。但是,在以下几种情况下,恶意风格可能是一种责任:
style="display:none"
的{input
元素可以在某些浏览器中自动填充数据,导致用户在不知情的情况下提交额外的数据。在style="display:block"
或其他display
样式可能会破坏预期为inline
或其他样式的布局。在style
属性中的样式信息将为作者/海报提供比缩进更多的选择样式的自由度。(如果他们决定要2000pt字体呢?)在@import
机制加载其他样式,或者通过background
和类似属性加载url。除非sanitizer提交同时清理CSS代码,否则这将是一个潜在的注入向量。在由于您希望进行sanatize的唯一原因是源代码可能不受信任或不安全,因此假定不希望让源代码设置自己的样式。在
相关问题 更多 >
编程相关推荐