为什么某些用 vue.js 创建的 web 应用,直接用 chrome 的检查工具就能直接看到项目源码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
watanuki
V2EX    Vue.js

为什么某些用 vue.js 创建的 web 应用,直接用 chrome 的检查工具就能直接看到项目源码?

  •  
  •   watanuki 2020 年 6 月 9 日 6336 次点击
    这是一个创建于 2126 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主是个业余的,因为一般见到的都是打包成一个 bundle.js ,像图中这种情况的,还是第一次见,这让我产生了两个疑问:

    1. 这是怎么实现的,是对应 webpack 中的某些配置吗?
    2. 为什么要特意这样做?这不是把项目源码的大部分都暴露出来了吗?

    play.dlsite.com

    第 1 条附言    2020 年 6 月 9 日

    评论里有人怀疑这是把 webpack-dev-server 反代出来的结果,但这是一个已经上线了几年的项目。

    一般来说,web 应用项目有可能通过 webpack-dev-server 反代,这种扭曲的方式上线吗?

    31 条回复    2020-06-11 09:09:49 +08:00
    BarZu
        1
    BarZu  
       2020 年 6 月 9 日
    sourceMap
    assassin1993zj
        2
    assassin1993zj  
       2020 年 6 月 9 日
    线上环境不推荐配置 sourceMap 为 true,这样会暴露源代码的
    ruby109
        3
    ruby109  
       2020 年 6 月 9 日   3
    dlsite 草
    Austaras
        4
    Austaras  
       2020 年 6 月 9 日
    生产环境建议 nosources-source-map
    autoxbc
        5
    autoxbc  
       2020 年 6 月 9 日
    Web 是 text 不是 binary,这么设计就是说,代码给人看看没什么了不得的
    nezumi8577
        6
    nezumi85757  
       2020 年 6 月 9 日
    @autoxbc 也要看技术变迁啊,构思之初浏览器做的事情跟今天浏览器里跑的应用已经是天差地别了,安全性上来说把底裤全漏实在不妥
    autoxbc
        8
    autoxbc  
       2020 年 6 月 9 日
    @nezumi85757 #6 大站前端不压缩不混淆的多了去了,因为这跟安全没什么关系。业界准则是:有秘密放后端,没密码代码随便看
    autoxbc
        9
    autoxbc  
       2020 年 6 月 9 日
    @autoxbc #8 密码 -> 秘密
    nezumi85757
        10
    nezumi85757  
       2020 年 6 月 9 日
    @autoxbc 所以说还是看开发怎么做决策啊,我不知道你记不记得这样一件事情,小米 5 还是 6 的时候官网抢手机,一秒就光了,结果被人扒代码一看,抢的这一步在前台就给你打回了,就是个随机值,然后自然的用户就去微博闹了,这种情况哪怕混淆一下,被人发现作假的几率也会小很多吧
    chairuosen
        11
    chairuosen  
       2020 年 6 月 9 日
    前端源码随便看,不能看的代码不放前端
    catteroLo
        12
    catteroLo  
       2020 年 6 月 9 日
    感觉这不是 sourcemap 的问题,这是直接把 webpack-dev-server 反代出来啊
    zhuweiyou
        13
    zhuweiyou  
       2020 年 6 月 9 日
    sourcemap 了解一下,另外哪怕没有 sourcemap,全是 abcd 懂 JS 的人也能分析你的逻辑的。前端没有秘密。
    AlphaTr
        14
    AlphaTr  
       2020 年 6 月 9 日
    sourcemap 在起作用,是为了方便开发者调试;所以上线的代码应该把 sourcemap 去掉
    ibegyourpardon
        15
    ibegyourpardon  
       2020 年 6 月 9 日   1
    前端没有秘密。

    但是有成本。

    混淆还是要做的。
    miniwade514
        16
    miniwade514  
       2020 年 6 月 9 日
    @catteroLo +1 整个目录结构全部暴露出来了
    9yu
        17
    9yu  
       2020 年 6 月 9 日 via Android
    看本子呢?
    miniwade514
        18
    miniwade514  
       2020 年 6 月 9 日
    我觉得这就是人为操作的问题,要么是作者没意识到这样会暴露源代码,要么就是他根本不在乎,随便看。
    楼上一些人说的容易让人误以为这是常规操作。
    watanuki
        19
    watanuki  
    OP
       2020 年 6 月 9 日
    @catteroLo #12 不会吧,这是个已经上线了的项目,怎么可能用 dev-server ?
    AV1
        20
    AV1  
       2020 年 6 月 9 日
    sourceMap 可以提供源代码映射。
    此站发布代码的时候,忘了删除 map 文件,意外地导致项目源代码泄漏。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     964 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:00 PVG 07:00 LAX 16:00 JFK 19:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86