首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何保护用于报告客户端JS错误的API端点不受垃圾邮件的影响(如果有必要)?

如何保护用于报告客户端JS错误的API端点不受垃圾邮件的影响(如果有必要)?
EN

Stack Overflow用户
提问于 2019-03-19 19:56:42
回答 1查看 187关注 0票数 2

我正在开发一个使用Spring Boot和React.js SPA的web应用程序,但我的问题并不特定于这些库/框架,因为我假设向服务器报告客户端JS错误(用于记录和分析)肯定是许多现代web应用程序的常见操作。

因此,假设我们有一个捕获错误的JS客户端应用程序和一个REST端点/errors,它接受一个JSON对象,该对象保存有关发生的事情的相关信息。客户端应用程序将数据发送到服务器,然后将数据存储在数据库中(或其他任何地方),每个人都很高兴,对吧?

现在我真的不是了。因为现在我有了一个开放的(就像允许未经身份验证的创建/写入操作) API端点,任何人只要有一点知识就可以很容易地发送垃圾邮件。

我可能会验证端点接受的JSON数据的结构,但这并不能真正解决问题。

在像"Open REST API attached to a database- what stops a bad actor spamming my db?“或"Secure Rest-Service before user authentification”这样的问题中,有这样的建议:

  • access配额验证(但我不想保存I或任何用于标识clients)
  • Captchas的内容(对于错误报告、obviously)
  • e-mail (相同,想象一下))

所以我的问题是:

  1. 有没有一种优雅的,常用的策略来保护这样的endpoint?
  2. Would,一种轻量级的解决方案,比如在实践中验证数据的结构是否足够?
  3. ,这一切都是必要的吗?毕竟,我不会在应用程序中使用横幅来宣传我的错误处理应用程序接口端点...
EN

回答 1

Stack Overflow用户

发布于 2019-03-20 04:06:04

我已经看过三种不同的方式…

  1. 假设您正在使用OAuth 2来保护您的应用编程接口。支持两个错误端点。

代码语言:javascript
复制
- For a logged in user, if an errors occurs you would hit the /error endpoint, and would authenticate using the existing user auth token. 
- For a visitor, you can expose a /clientError (or named in a way that makes sense to you) endpoint that takes the client\_credentials token for the client app. 

  1. 使用仅可访问错误终结点的范围的/error密钥来保护错误终结点。

代码语言:javascript
复制
- This key would be specific to the client and would be pass in the header.

使用第三方工具或New Relic.等任何

  1. 工具,如Raygun.io
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55240505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档