如何保护 Sails.JS API 应用程序免受 SQL 和参数注入?

How to secure a Sails.JS API application against SQL and parameter injections?

如果我启动一个 https://sailsjs.com/ 应用程序(只有 API 的服务,还没有前端),我如何保护 API 免受 SQL 注入或未处理参数(例如类型错误或格式错误)?

1. 政策

您可以编写策略使某些用户远离某些控制器操作。检查它们 HERE

2. 编写检查所需参数的控制器

就这么简单。当参数不在正文中时,只需 return 一个 400res.badRequest() (查看 HERE )。

3.使用Waterline来帮你

HERE have ways to sanitize data. But it is your job to check for value types and other validation (like range). If you need to do a raw querie, then use it like HERE and also check for the DOCS 和 "valuesToEscape" 参数中的所有方法。

PS: 4. 使用验证器服务

设置一个服务,需要一个众所周知的 npm 库来为你做检查!这很有用,因为您可以在整个 SailS 应用程序中使用通用代码块。