我有一个运行Node.js / Express的Web应用程序,我已经做了一些搜索,但我已经做空了。
基本上我有一个网络应用程序,你可以发布通常的,评论,评级等。这一切都很好,但如果有人使用Postman(具有他们的登录凭据)之类的东西,他们可以发出100/1000的评论点击Postman上的POST。
处理此问题的最佳方法是什么?我应该只限制用户操作服务器端(X量和时间之后的评论/评级)还是有更好的方法?
理想情况下,我希望能够使用像Postman这样的软件来提交任何内容 - 我希望通过网站完成所有内容,但我不确定这是否可行,因为它是“sa”路线?
非常感谢任何建议!
答案 0 :(得分:1)
除非这是你遇到的一个问题,否则我会像一般建议那样建议你的时间更好地花在其他地方。正如他们所说,YAGNI。
在您的实际问题上,处理过载攻击有很多不同的替代措施。最简单的选择是,如果您正在开发的API需要身份验证 - 如果是这样,您可以应用每帐户速率限制。例如,每个用户每分钟100个请求。
你可以使用像express-rate-limit这样的东西来做到这一点。
如果您担心实际的大规模拒绝服务攻击,那么最近需要在请求到达您的应用程序服务器层之前进行缓解。
CloudFlare和Akamai等企业将此服务作为一种服务,您可以将域配置为支持其DDoS的基础架构,然后他们会将审查后的流量转发到您的Express服务器。
答案 1 :(得分:0)
我使用 hpp npm软件包(用于防止HTTP参数污染攻击的Express中间件)来限制通话速率 https://www.npmjs.com/package/hpp