我正在使用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”之类的问题中,有以下建议:
所以我的问题是: