我对Web应用程序的前端的理解,如果我错了,请纠正我的是按钮,链接和其他交互作为封装的HTTP请求,其中包含来自用户的格式良好的数据页面上的活动。
例如,当用户提交新帖子时,类似以下数据(JSON)/表单/查询的内容将作为POST / GET发送到某些后端服务器上的某个路径(例如http://some_server/message/post/new
)处理请求。
{
"user_id": <some_id>,
"message": <some_message>,
.
.
.
more_necessary_fields..
}
我的问题是,如果前端是某种桌面/ ios应用程序,则应将代码编译为二进制文件,并且应该很好地隐藏后端服务器的地址和路径。但是,如果前端是Javascript,其中代码用作浏览器的网页,并且所有路径和请求格式都是完全透明的,那么人们很容易滥用专门为前端代码使用而设计的后端服务。有什么方法可以在行业中处理这个问题?我完全偏离轨道,现有的结构可以解决这个问题吗?如果没有,有哪些方法可以保护仅限制前端代码使用的后端服务?
注意: 滥用的一个例子是,例如,前面显示的请求是提交消息,现在由于用户能够获取请求路径和请求格式,他们可以直接和编程方式将POST / GET请求发送到该路径,以便成千上万帖子可以上传。
答案 0 :(得分:0)
通常我们使用cors来保护我们的后端。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Server-Side_Access_Control
这种技术允许我们设置一个特定的域,它将向我们的后端发出请求。 如果您使用的是宁静的设计,也可以设置客户端可以使用的方法。
希望能帮到你。