ExpressJS:如何防止用户在 req.body 中使用 posting/patching 代码
ExpressJS: How to prevent a user from posting/patching code inside req.body
我正在使用 expressJS 开发 API。此 API 是一个半博客服务,客户可以创建、更新和删除他们的 post 和内容。我对实现其 post 和补丁路由有安全顾虑。
如果用户注入一些JS代码并发送到API存储在Mongodb,这些代码会不会影响我们的API ?我如何防止用户使用其中的任何代码post修改和修补请求?
我找到了“xss-clean”中间件来清理用户输入正文,是否足够用于此目的?
因为确保我使用正确的中间件来保护这个API对我来说非常重要,所以我问这个问题。
If the user injects some JS code and sends it to API to store in Mongodb, could these codes affect our API?
一般来说:不会。
代码以邮件正文的形式出现。它被你的中间件解析成一个数据结构,在那里它将显示为一个字符串。然后将该字符串放入通过 Mongodb 客户端 API 传递的结构化数据对象中,客户端 API 将其发送到数据库并进行任何需要的转义。
I have found "xss-clean" middleware to sanitize the user input body, is it enough for this purpose?
XSS 是一种攻击,其中注入 HTML 文档的数据包含特殊字符,这些字符在 HTML.
中被视为特殊字符
例如
<h1>{{ your_name }}</h1>
其中 your_name
是包含 <script>...</script>
.
的数据
这通常通过对数据应用适当的转义来处理(在非常基本的层面上,这意味着将 <
替换为 <
)。
XSS 不会直接影响您的 API。
如果您的数据要从 Mongodb 存储中取出并注入到 HTML 文档中,那么 XSS 是一个考虑因素。
xss-clean
是 xss-filters
.
的包装
xss-filters
看起来(我只看了一眼)像一个很好的模块,设计用作输出过滤器(即 运行 就在您将数据插入 HTML 文件).
xss-clean
用作输入过滤器,这不是一个好方法。它使您的数据 HTML 安全,但代价是使其无法用于 HTML 以外的任何目的。您可能希望使用电子邮件中的数据,或生成 Excel 格式的报告。
我正在使用 expressJS 开发 API。此 API 是一个半博客服务,客户可以创建、更新和删除他们的 post 和内容。我对实现其 post 和补丁路由有安全顾虑。
如果用户注入一些JS代码并发送到API存储在Mongodb,这些代码会不会影响我们的API ?我如何防止用户使用其中的任何代码post修改和修补请求?
我找到了“xss-clean”中间件来清理用户输入正文,是否足够用于此目的?
因为确保我使用正确的中间件来保护这个API对我来说非常重要,所以我问这个问题。
If the user injects some JS code and sends it to API to store in Mongodb, could these codes affect our API?
一般来说:不会。
代码以邮件正文的形式出现。它被你的中间件解析成一个数据结构,在那里它将显示为一个字符串。然后将该字符串放入通过 Mongodb 客户端 API 传递的结构化数据对象中,客户端 API 将其发送到数据库并进行任何需要的转义。
I have found "xss-clean" middleware to sanitize the user input body, is it enough for this purpose?
XSS 是一种攻击,其中注入 HTML 文档的数据包含特殊字符,这些字符在 HTML.
中被视为特殊字符例如
<h1>{{ your_name }}</h1>
其中 your_name
是包含 <script>...</script>
.
这通常通过对数据应用适当的转义来处理(在非常基本的层面上,这意味着将 <
替换为 <
)。
XSS 不会直接影响您的 API。
如果您的数据要从 Mongodb 存储中取出并注入到 HTML 文档中,那么 XSS 是一个考虑因素。
xss-clean
是 xss-filters
.
xss-filters
看起来(我只看了一眼)像一个很好的模块,设计用作输出过滤器(即 运行 就在您将数据插入 HTML 文件).
xss-clean
用作输入过滤器,这不是一个好方法。它使您的数据 HTML 安全,但代价是使其无法用于 HTML 以外的任何目的。您可能希望使用电子邮件中的数据,或生成 Excel 格式的报告。