如何保护前端代码显示的后端api?

问题描述 投票:0回答:1

我对Web应用程序前端的理解(如果我错了,请纠正我)是按钮,链接和其他交互充当封装的HTTP请求,其中包含来自页面上用户活动的格式良好的数据。

例如,当用户提交新帖子时,类似以下数据(JSON)/ form / query之类的内容作为POST / GET发送到某个后端服务器上的某个路径(例如http://some_server/message/post/new )来处理请求。

{  
  "user_id": <some_id>,
  "message": <some_message>,
  .
  .
  .
  more_necessary_fields..
}

我的问题是,如果前端是某种台式机/ iOS应用程序,则应将代码编译成二进制文件,并且后端服务器的地址和路径应该很好地隐藏。 但是,如果前端是Javascript,并且该代码用作浏览器的网页,并且所有路径和请求格式都是完全透明的,那么人们可以轻松地滥用专门为前端代码设计的后端服务。 行业中有哪些处理方式? 我是否完全偏离了轨道,并且已有解决此问题的结构? 如果不是,那么有哪些方法可以保护后端服务,从而仅限制前端代码的使用?

注意:滥用的一个例子是,例如,前面显示的请求是提交一条消息,现在,由于用户能够获取请求路径和请求格式,因此他们可以直接以编程方式将POST / GET请求发送到该路径,以便成千上万的帖子可以上传。

web-applications frontend backend api-design software-design
1个回答
0
投票

通常,我们使用cors保护后端。

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Server-Side_Access_Control

这种技术允许我们设置特定的域,该域将向后端发出请求。 此外,如果使用宁静的设计,还可以设置客户端可以使用的方法。

希望能对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.