yaswen
V2EX  ›  问与答

使用 gitee pages 时,静态文件中包含敏感信息怎么办?

  •  
  •   yaswen · May 28, 2019 · 3057 views
    This topic created in 2603 days ago, the information mentioned may be changed or developed.
    纯前端项目,部署在了码云 gitee pages 上。
    部署的方式就是 webpack 打包,然后把这些静态文件所在的文件夹在 Gitee Pages 的配置中设置上就可以了。
    但是问题来了,这些 webpack 打包生成的静态文件,是可以搜索到我的密码的,我密码是单独放了一个 js 文件,其它要用的地方 import 的。
    我觉得这不安全。稍微懂点技术的就可以在浏览器轻松看到我的密码了。
    那么如何才能避免这一问题?
    9 replies    2019-05-29 19:35:46 +08:00
    johnnyNg
        1
    johnnyNg  
       May 28, 2019   ❤️ 1
    你为什么要放你的密码?如果是公开给大家用的就放个你不在乎的账号、密码,如果是给自己用的就把账号密码写成可输入的
    yaswen
        2
    yaswen  
    OP
       May 28, 2019
    @johnnyNg 噢,是这样的,涉及到调用外部 API,所以会有一些 API 相关的账号密码。
    flyingfz
        3
    flyingfz  
       May 28, 2019   ❤️ 1
    我上次看过一个 代替 aws 的 s3 的一个开源项目, 啥名字我忘记了,其中,有个 接口,是用来给客户端直接上传文件的,这个场景就和你的需求一样 ,
    它们的做法是:api 的 secret 等,存放在服务器 , 由一个接口返回前端上传时的 url (一次性),这样前端就不用 api 的 secret 了。
    yaswen
        4
    yaswen  
    OP
       May 28, 2019
    @flyingfz 我不是很懂啊,大概有点懂了,就是前端项目去这个 url 请求到 secret 之后,就保存在变量里了,而过段时间 url 就失效了,是吧。
    感觉好像挺合理的。谢谢,感谢大佬。
    yaswen
        5
    yaswen  
    OP
       May 28, 2019 via iPhone
    @flyingfz 不对呀,静态网页没有内存啊,没法存在变量里吧,还是没想明白
    msg7086
        6
    msg7086  
       May 29, 2019   ❤️ 1
    调用 API 当然会有相关的账号密码。
    你在浏览器里直接调用 API,账号密码当然要给浏览器看到。
    能给浏览器看到,当然能被人盗走。

    当你决定做成静态页面的时候,就已经命中注定别人能看到你的账号密码了。
    flyingfz
        7
    flyingfz  
       May 29, 2019   ❤️ 1
    @yaswen 纯前端不行的。 需要服务器端写个接口,并且这个接口还需要登录之后才能访问,否则结果还是一样。
    其实看看 nodejs, 这种接口还是很简单就能写了。
    yaswen
        8
    yaswen  
    OP
       May 29, 2019 via iPhone
    @msg7086 好的,懂了,谢谢大佬哈。
    yaswen
        9
    yaswen  
    OP
       May 29, 2019 via iPhone
    @flyingfz 好的,有数了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   980 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 19:40 · PVG 03:40 · LAX 12:40 · JFK 15:40
    ♥ Do have faith in what you're doing.