用 antd pro 会暴露前端的代码么?

2020-05-19 14:49:42 +08:00
 sunshinev

因为有些页面需要登录之后才可以访问的

如果使用 antd pro 这种打包好的,实际上未登录也可以从 js 中看到页面元素吧

4020 次点击
所在节点    程序员
31 条回复
Latin
2020-05-19 15:00:11 +08:00
webpack 打包就已经混淆过一遍,不放心自己再加混淆就好。
meteor957
2020-05-19 15:01:01 +08:00
前端代码本来就是暴露的
AngryMagikarp
2020-05-19 15:03:26 +08:00
页面是暴露的,但接口不是呀。
shintendo
2020-05-19 15:06:01 +08:00
没看懂你在问什么
是怕暴露代码还是怕暴露页面数据?
数据是从接口拿的,接口做好鉴权就行了,前端从来不做安全也做不了安全,前端权限控制做的是体验
代码的话,不说前端代码有什么价值,那跟登录不登录又有什么关系?
anzu
2020-05-19 15:09:36 +08:00
会的,可以做成多页应用,登录页面和实际后台分别部署。
easonHHH
2020-05-19 15:10:24 +08:00
前端无秘密
请求页面的时候,登陆成功(鉴权)才返回页面,这是后端做的事情吧
sunshinev
2020-05-19 15:35:27 +08:00
@shintendo 你没理解啊,以前后台管理系统,页面都是后台渲染的,所有的鉴权操作在请求的 middleware 层就做了,直接拦截了。

那就是按照你说的,前端代码没有保护的价值
bsg1992
2020-05-19 15:47:28 +08:00
你前端代码就是暴露在外的,顶多就是混淆一下。
GDC
2020-05-19 15:47:37 +08:00
会的,一般都是打包成一个 js,花点功夫就可以在 js 里看到等后面页面的 dom 元素、字段名称、甚至和后端的交互逻辑,尤其是那些预置了提示信息的
shintendo
2020-05-19 15:48:25 +08:00
@sunshinev 比方说后台有个产品管理页面,只允许登录用户查看,你想保护的是这个页面的样子(左边一个导航栏上面两个搜索框下面一个翻页表格),还是这个页面的数据内容(产品名称产品价格产品规格)?
GDC
2020-05-19 15:50:08 +08:00
楼上好多人都不明白楼主在说啥,前后端不分离的情况,html 是服务端渲染的,一般的逻辑是判断未登录后就不渲染页面了(跳转到登录页),不会暴露业务信息。

除了楼上 @anzu 说的做成多页,也可以做组件懒加载。
heyjei
2020-05-19 15:52:43 +08:00
是的,没办法,用中间人技术,可以直接把 JS 代码修改并替换,把关键的前端的权限校验代码给去掉。

所以这权限验证,后端不可省。话说这权限验证本来就是后端的事啊。为了用户体验,前端才逐渐的加入了权限的验证。
GDC
2020-05-19 15:56:01 +08:00
@GDC 更正 #11 的想法:

懒加载也能在未登录的情况下找到 js 文件,从而推断出页面业务和逻辑,这个方法不可取,还是多页应用比较靠谱。
SingeeKing
2020-05-19 16:06:17 +08:00
为什么没有人说 SSR
dartabe
2020-05-19 16:11:13 +08:00
SSR 可以吧?
faceRollingKB
2020-05-19 16:20:21 +08:00
这种功能一般需要框架提供,比如说 ng 路由的 guard 可以实现这种权限控制,原理就是打包时就把代码分开打包,获得权限后才会去加载脚本,vue 的话目前只用到懒加载,还没试过 beforeEach 能不能实现这种权限控制,不知道有没有人试过
lancelock
2020-05-19 16:28:05 +08:00
不是有混淆吗?不管用吗
shintendo
2020-05-19 16:38:28 +08:00
@SingeeKing 如果我的理解没错的话,ssr 也只有首屏是服务端渲染的
zhuweiyou
2020-05-19 16:47:58 +08:00
数据又不是写死在 JS 里的。
你考虑这些,没有意义。
linZ
2020-05-19 16:53:36 +08:00
不可以,明显你没有切换页面,然后检查元素。正常的话,只会渲染当前页面的内容,而不会

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

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

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

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

© 2021 V2EX