如何在googleappengine中清理python中上传的html blob?

2024-09-27 09:22:33 发布

您现在位置:Python中文网/ 问答频道 /正文

如果将HTML上载到Google App Engine并打算将其服务到iframe中,那么最好的清理方法是什么(例如,删除脚本和其他恶意HTML)?你知道吗

我在想

        reader = blobstore.BlobReader(binfo.key())
        value = reader.read()
        newHtml = lxml.html.clean.Cleaner().clean_html (value)
        #save newHtml as the blob in google cloud store to be served.

我想知道是否有更好的方法来做到这一点,任何帮助是非常感谢。你知道吗

注意:如果有一种方法可以移除锚或使锚(或源)成为非相对的、安全的http等等,那也会很好。。(或者完全不允许)。你知道吗


Tags: 方法脚本cleanappvaluehtmlgoogleengine
1条回答
网友
1楼 · 发布于 2024-09-27 09:22:33

这是一个需要很好解决的挑战性问题,因为有很多种方式可以将恶意内容注入HTML。script元素可能是最为人熟知/常见的,但是forminputimg元素也可能被滥用。恶意JS还可以通过事件处理程序包含在几乎任何元素中。More information about XSS from OWASP,让你开始。你知道吗

由于您使用的是Python,下面是一些用于清理HTML的库,您可以尝试使用它们。你知道吗

值得一提的是,将用户提供的HTML托管在iframe中是防止恶意内容访问您托管的应用程序的一种方法(尽管您可能希望采取措施防止iframe中断),但您可能希望向您的用户说明,托管在那里的内容并不总是可信的。你知道吗

希望这有帮助!你知道吗

相关问题 更多 >

    热门问题