了解前后端分离的架构你就知道,所谓前端,某个功能就是访问一堆后端接口的集合。认
证后,通过jwt返回一个token,然后后续的接口访问都带上这个token来做认证。
你在本地启动一个前端,使用分配给你的普通权限账号,就和访问生产前端一样的效果。
但是某些功能权限的实现是通过屏蔽某些前端菜单来实现的,所以你可以通过修改前端来
访问这些隐藏的功能,当然在数据权限完备的情况下,你确实产生不了什么危害,但是仍
然可能存在安全隐患不是。
你可以想像自己这个前端是postman的接口集合。
这是chatgpt方案:
为了防止本地启动的前端代码访问生产环境的后端,可以考虑以下几种方案:
CORS(跨域资源共享):通过在后端服务器上配置 CORS,只允许指定的前端域名来访问
后端接口。这样即使本地启动的前端代码想要访问生产环境的后端,也会因为跨域问题而
无法访问。
API 网关:将所有的后端接口都通过 API 网关暴露出去,并在 API 网关上设置访问控制
策略,只允许指定的前端域名来访问。这样即使本地启动的前端代码想要访问生产环境的
后端接口,也会被 API 网关拦截。
OAuth2:使用 OAuth2 认证授权框架,将前端和后端分别注册为不同的 OAuth2 客户端,
并且分别为它们分配不同的客户端 ID 和密钥。在 OAuth2 服务端上设置访问控制策略,
只允许使用正确的客户端 ID 和密钥来访问相应的后端接口。这样即使本地启动的前端代
码想要访问生产环境的后端接口,也需要正确的客户端 ID 和密钥才能访问。
【 在 hothail 的大作中提到: 】
: 那你可以重新阐述你的需求
: 如果需求是“安全”,上面给的建议基本都 中规中矩/至少不离谱
: 大家的建议集中在改造后端上这实际上就是一种共识,“前端是不靠谱的,不安全的,
: 包括前端的代码”
: ...................
--
FROM 119.139.198.*