【发布时间】:2018-09-21 17:55:06
【问题描述】:
我对 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 请求,从而使成千上万的帖子可以上传。
【问题讨论】:
-
使用 csrf 令牌
标签: web-applications frontend backend api-design software-design