如果将HTML上传到Google App Engine并打算将其提供给iframe,那么清理它的最佳方式是什么(例如删除脚本和其他恶意HTML)?
我在考虑
tableHTML
我想知道是否有更好的方法来做到这一点,我们非常感谢任何帮助。
注意:如果有一种方法可以移除锚点或使锚点(或来源)非相对和安全的http等等,也会很棒。(或者只是完全不允许)。
答案 0 :(得分:1)
这可能是一个难以解决的具有挑战性的问题,因为HTML可以通过多种方式注入恶意内容。 script
元素可能是最知名/最常见的元素,但form
,input
和img
元素也可能被滥用。还有通过事件处理程序将恶意JS包含在几乎任何元素中的能力。 More information about XSS from OWASP,让你开始。
由于您使用的是Python,因此以下是一些用于清理HTML的库,可能对您有用。
对于它的价值,在iframe
中托管用户提供的HTML是阻止恶意内容访问您正在托管的应用的一种方法(尽管您可能需要采取措施阻止iframe
突破),但您可能希望向您的用户明确说明其中托管的内容并非总是可信任。
希望这有帮助!