2

我们正在使用名为 FASTAPI 的 Python 框架开发 REST API。html 注入的代码安全测试失败。他们在 post 有效负载中发送一些 html 标记代码,我们将其插入 DB 并在 GET Response 中发送相同的代码。在 FASTAPI 中处理请求时,有什么方法可以防止这种 HTML 注入。

4

1 回答 1

5

是的。如果您不明确说明,任何框架都不会神奇地改变您获得的内容。(想象一下,如果它是一个 REST API,用于记录来自内部系统的 HTML 片段,用于在另一个端点呈现网页:您需要原样的 HTML)

在将输入数据放入数据库之前,只需对输入数据调用转义函数即可。

在这种情况下, Python 的标准库html.escape函数就足够了。

您的问题中没有代码,我也不知道 FASTAPI - 但如果它将有效负载放入数据库中而不通过您编写的任何代码,那么您应该自定义它并放入此调用以预处理您的数据,或添加一个触发阶段(即事件订阅者)来为您执行此操作。

于 2020-08-19T13:50:45.517 回答