我们正在使用名为 FastAPI 的 Python 框架开发 REST API。 html 注入(inject)代码安全测试失败。他们在 post payload 中发送一些 html 标签代码,我们将其插入 DB 并在 GET Response 中发送。在 FastAPI 中处理请求时,有什么方法可以防止这种 HTML 注入(inject)。
最佳答案
是的。如果您不明确说明,任何框架都不会神奇地改变您获得的内容。 (想象一下,如果它是一个 REST API,用于记录来自内部系统的 HTML 片段,用于在另一个端点呈现网页:您需要原样的 HTML)
这只是在将输入数据放入数据库之前调用转义函数的问题。
Python 的标准库 html.escape
函数在这种情况下就足够了。
您的问题中没有代码,而且我根本不了解 FASTAPI - 但如果它在不经过您编写的任何代码的情况下将有效负载放入数据库,那么您应该自定义它并将此调用放入预处理您的数据,或添加将为您执行此操作的触发阶段(即事件订阅者)。
关于python - 我们如何防止 FastAPI 中的 html 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63488278/