网站管理后台适合前后端分离,做成 SPA 吗?

2022-04-01 22:32:10 +08:00
 rv54ntjwfm3ug8

感觉挺适合的,后台完全不需要 SEO ,超旧版本浏览器兼容性也不是非常重要 就是感觉如果不搞个前置 basic_auth 的话未登录 /低权限账号也可以看到 main.xxx.js 导致全部接口信息泄露 一般是怎么处理?

5250 次点击
所在节点    云计算
41 条回复
ragnaroks
2022-04-01 22:36:01 +08:00
接口本来就是公开的,做好鉴权就行

与其做成 SPA 不如考虑下 SSG ,举个例子某管理员 A 可以复制某个特定功能的链接直接发给管理员 B
Hanggi
2022-04-01 22:38:30 +08:00
后端网站限制访问,限制 IP
Chism
2022-04-01 23:26:42 +08:00
容易被反推有哪些页面,甚至页面的某些内容。
纯后端渲染,没权限就无法提前看到路由和网页结构
pengtdyd
2022-04-01 23:43:25 +08:00
啊!!!!你是不是搞 IT 的哦,前后端分离 5 年前就大行其道了好吧。
815979670
2022-04-01 23:56:39 +08:00
这个情况看,项目大不大,团队的构成,采用的语言等等。
如果:项目不大,就一两个人后端开发维护,用的还是 PHP 语言,那自然是 MVC 更方便。
如果:项目不大,但有一个前端,有一个后端 那前后端分离,我写我的接口,你写你的页面 每个人都能专注自己的部分
如果:项目很大,N 个前端,N 个后端,那么前后端分离,通过共享来传递接口文档,各司其职 后期重构也可以单独重构前端或者单独重构后端。
BaiLinfeng
2022-04-02 01:52:19 +08:00
啥意思啊,直接看不懂
wunonglin
2022-04-02 04:38:49 +08:00
接口信息泄露?网站接口都是控制台直接看到,你指的泄露是什么意思?
murmur
2022-04-02 07:56:56 +08:00
后端不搞鉴权是在开玩笑么,企业应用做假鉴权是因为大家都是抬头不见低头见,互联网应用敢不做数据权限的?
gouflv
2022-04-02 08:34:18 +08:00
感觉回到 10 年前
GeruzoniAnsasu
2022-04-02 08:35:18 +08:00
1. 接口信息是不应该怕泄露的,有很多业务甚至为了方便自动化会主动把接口暴露并提供规范的使用方法
2. 鉴权和 csrf token 之类的东西早都已经纳入各种框架中了,都可以拿起来就用,不用担心实现难度
3. 前端的 distribution 版 js 都是压缩混淆过的东西,一般人可看不懂,甚至就算不压缩混淆,框架的源码复杂度已经足以令人发指了
ccyu220
2022-04-02 08:38:39 +08:00
看标题我以为现在是 2012 年
sjzjams
2022-04-02 08:40:55 +08:00
进来我就看成做 SPA 。。
superfatboy
2022-04-02 08:42:24 +08:00
看标题我以为现在是 2011 年
focuxin
2022-04-02 08:49:35 +08:00
前端做路由守卫,后端做好接口鉴权,js 本来就是透明的,再说现在前端工程的复杂性,代码都是压缩的,看接口请求开发者工具直接就能看到。
joesonw
2022-04-02 09:15:46 +08:00
可以 spa 都管理节目前面放一个表单登陆,登陆了才去到有 js 的页面。而且一般公司不都走统一登陆了吗,一样的效果。
wowbaby
2022-04-02 09:19:08 +08:00
我之前后台都用单应用模式,路由鉴权很是麻烦,后换成 MVC 再引入 Vue ,个人觉得方便多了,两者的优势都发挥了
ijse
2022-04-02 09:19:54 +08:00
当你考虑构建的软件应该是什么样子时,你需要先考虑一下你的组织架构应该是什么样子。它们总是相辅相生的。
encro
2022-04-02 09:45:41 +08:00
@ragnaroks

别吓人,
管理后台做 SSG ,难道要为每一条内容生成一个页面?
直接 SPA 也是支持路由和复制的。

一般只有前台才需要 SSR 和 SSG 。
Envov
2022-04-02 10:51:38 +08:00
main.xxx.js 可以做成 lazy load ,访问特定路由才加载特定的 chunkjs
ragnaroks
2022-04-02 11:38:04 +08:00
@encro 你对 SSG 的理解有误

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/844419

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX