因为有些页面需要登录之后才可以访问的
如果使用 antd pro 这种打包好的,实际上未登录也可以从 js 中看到页面元素吧
因为有些页面需要登录之后才可以访问的
如果使用 antd pro 这种打包好的,实际上未登录也可以从 js 中看到页面元素吧
|
LatinMay 19, 2020
1
webpack 打包就已经混淆过一遍,不放心自己再加混淆就好。
|
|
2
前端代码本来就是暴露的
|
|
AngryMagikarpMay 19, 2020
3
页面是暴露的,但接口不是呀。
|
|
shintendoMay 19, 2020
4
没看懂你在问什么
是怕暴露代码还是怕暴露页面数据? 数据是从接口拿的,接口做好鉴权就行了,前端从来不做安全也做不了安全,前端权限控制做的是体验 代码的话,不说前端代码有什么价值,那跟登录不登录又有什么关系? |
|
anzuMay 19, 2020
5
会的,可以做成多页应用,登录页面和实际后台分别部署。
|
|
easonHHHMay 19, 2020
6
前端无秘密
请求页面的时候,登陆成功(鉴权)才返回页面,这是后端做的事情吧 |
|
7
|
|
bsg1992May 19, 2020
8
你前端代码就是暴露在外的,顶多就是混淆一下。
|
|
GDCMay 19, 2020
9
会的,一般都是打包成一个 js,花点功夫就可以在 js 里看到等后面页面的 dom 元素、字段名称、甚至和后端的交互逻辑,尤其是那些预置了提示信息的
|
|
shintendoMay 19, 2020
10
@sunshinev 比方说后台有个产品管理页面,只允许登录用户查看,你想保护的是这个页面的样子(左边一个导航栏上面两个搜索框下面一个翻页表格),还是这个页面的数据内容(产品名称产品价格产品规格)?
|
|
GDCMay 19, 2020
11
楼上好多人都不明白楼主在说啥,前后端不分离的情况,html 是服务端渲染的,一般的逻辑是判断未登录后就不渲染页面了(跳转到登录页),不会暴露业务信息。
除了楼上 @anzu 说的做成多页,也可以做组件懒加载。 |
|
heyjeiMay 19, 2020
12
是的,没办法,用中间人技术,可以直接把 JS 代码修改并替换,把关键的前端的权限校验代码给去掉。
所以这权限验证,后端不可省。话说这权限验证本来就是后端的事啊。为了用户体验,前端才逐渐的加入了权限的验证。 |
|
SingeeKingMay 19, 2020
14
为什么没有人说 SSR
|
|
dartabeMay 19, 2020
15
SSR 可以吧?
|
|
faceRollingKBMay 19, 2020
16
这种功能一般需要框架提供,比如说 ng 路由的 guard 可以实现这种权限控制,原理就是打包时就把代码分开打包,获得权限后才会去加载脚本,vue 的话目前只用到懒加载,还没试过 beforeEach 能不能实现这种权限控制,不知道有没有人试过
|
|
lancelockMay 19, 2020
17
不是有混淆吗?不管用吗
|
|
shintendoMay 19, 2020
18
@SingeeKing 如果我的理解没错的话,ssr 也只有首屏是服务端渲染的
|
|
zhuweiyouMay 19, 2020
19
数据又不是写死在 JS 里的。
你考虑这些,没有意义。 |
|
linZMay 19, 2020
20
不可以,明显你没有切换页面,然后检查元素。正常的话,只会渲染当前页面的内容,而不会
|
|
linZMay 19, 2020
21
删掉上一条。可以看,但是成本值当么,还不如直接拉开发人员吃吃饭套套近乎呢。 ps:v2ex 真是拉中拉,连个回复删除的功能都没有。
|
|
22
这么说
如果有你的后端接口文档,不需要你的服务器,用代理+mock 数据,哪一个页面都可以随便进。只代理关键请求也很可能骗过前端的权限验证,这些关键接口往往就是登录开始的前几个请求,非常好定位。 |
|
faceRollingKBMay 19, 2020
23
@Vegetable 是这个道理,如果攻击者劫持了一个肉鸡所有的信息,那攻击者完全可以模仿这个用户,而且服务端也没有任何办法吧,所以才需要短信、邮件等其他手段做一个终极验证
|
|
Elephant696May 19, 2020
25
是可以看到。
关键只看到前端代码也没什么意义啊,难道是因为这些代码里有什么有价值的东西怕泄露吗 |
|
musiMay 19, 2020
27
页面不就是给人看的么?关键的是数据?
|
|
jinliming2May 19, 2020
28
dynamic import,惰性按需加载,页面需要显示的时候才加载,webpack 上配一下就行。code split
|
|
lihongmingMay 20, 2020 via iPhone
29
没用过 antd pro,但前端的权限验证只是为了用户不被不需要的页面打扰,并不是为了禁止他看。
你要是实在需要保密一些信息(比如 API 地址、字段名等),可以将这些信息在受保护的 API 中返回,无权的人就看不到了。 |
|
cw2k13asMay 20, 2020
30
js 会混淆的,还有页面是动态的会懒加载 js,有权限才会拉取 js 渲染页面,再说了页面有接口,后端也会判断权限
|
|
myCupOfTeaMay 20, 2020
31
@jinliming2 没用,又没权限验证机制,懒加载照样可以拿,ssr 也不行 ssr 只是首屏渲染
楼主这个想法要实现首先,路由不能放前台 建议后台模版渲染完事,路由也放后台就 ok 呢 但是前端代码确实没啥价值,压缩过之后,鬼才看的懂(看懂局部当然没啥问题 |