V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
13192262269
V2EX  ›  问与答

请教,如何实现当 js 没有被加载时,将页面无法打开?

  •  
  •   13192262269 · 2020-01-07 15:26:54 +08:00 · 2228 次点击
    这是一个创建于 1769 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题 因为公司有个页面涉及敏感信息,需要加入水印 js,但是细心的我发现,只要在浏览器 F12 中,删除或者篡改 js,就可以去掉水印。想请问各位,怎么防止用户恶意删除呢? 图片: https://s2.ax1x.com/2020/01/07/l6TNCT.png

    28 条回复    2020-01-07 21:26:20 +08:00
    triple7
        1
    triple7  
       2020-01-07 15:42:56 +08:00
    这样做都是纯前端限制,用户都可以看到代码恶意修改。最多混淆下代码,让阅读代码的门槛高一点。
    13192262269
        2
    13192262269  
    OP
       2020-01-07 15:43:03 +08:00
    有人指点一下吗?(>‿◠)✌
    helionzzz
        3
    helionzzz  
       2020-01-07 15:45:36 +08:00
    emmm 要不在 JS 里放个挖矿代码把,卡的他调不出来 f12 页面就行了
    wunonglin
        4
    wunonglin  
       2020-01-07 15:46:28 +08:00   ❤️ 1
    webpack
    13192262269
        5
    13192262269  
    OP
       2020-01-07 15:46:53 +08:00
    @triple7 #1 哈哈哈确实是,主要是想有没有更简单的方法,混淆代码恶心了他们,但是对于我们后期维护也是一个问题
    kop1989
        6
    kop1989  
       2020-01-07 15:46:55 +08:00
    这个敏感信息能不能后台加水印,前端只显示。
    cheeto
        7
    cheeto  
       2020-01-07 15:47:26 +08:00   ❤️ 2
    整个页面用 canvas 做应该可以
    maichael
        8
    maichael  
       2020-01-07 15:48:15 +08:00
    把敏感信息和水印合为一体放一起输出?
    13192262269
        9
    13192262269  
    OP
       2020-01-07 15:48:31 +08:00
    @helionzzz #2 也是个鬼才🤙🏻
    13192262269
        10
    13192262269  
    OP
       2020-01-07 15:50:00 +08:00
    @cheeto #7 我去看看
    13192262269
        11
    13192262269  
    OP
       2020-01-07 15:52:07 +08:00
    @wunonglin #4 哎,项目老到不能再老了,2003 年的代码不断叠加到现在,webpack 就算我可以达到,估计部门老人们都不让你上这个补丁。
    13192262269
        12
    13192262269  
    OP
       2020-01-07 15:53:09 +08:00
    @kop1989 #6 哈哈哈,我后台从来都是 CRUD,信息处理的,没有尝试过,不过应该可以
    triple7
        13
    triple7  
       2020-01-07 15:53:16 +08:00
    @helionzzz #3 @13192262269 启发了下,禁用右键,禁用 F12 开发者工具,然后一旦强行调出就执行复杂脚本把页面或者浏览器挂掉。
    13192262269
        14
    13192262269  
    OP
       2020-01-07 15:54:56 +08:00
    @triple7 #13 哎,这个不错哦,懒人专用,我去试试🙈
    fancy111
        15
    fancy111  
       2020-01-07 15:57:15 +08:00
    一切前端限制都没有用的。
    murmur
        16
    murmur  
       2020-01-07 15:57:45 +08:00
    别想了,只能后端加水印,前端水印是哪个鬼才想出来的
    13192262269
        17
    13192262269  
    OP
       2020-01-07 16:04:30 +08:00
    @murmur 哈哈哈 I'm so sorry,我想出来的,而且做出来了,然后想到了篡改安全问题🤒
    13192262269
        18
    13192262269  
    OP
       2020-01-07 16:05:16 +08:00
    @fancy111 #15 嗯,差不多是这个意思
    Telegram
        19
    Telegram  
       2020-01-07 16:07:48 +08:00
    只要是用户端的事情,都可以被破解,无非就是增加点难度而已。。

    服务器端处理好,那才是真理
    lneoi
        20
    lneoi  
       2020-01-07 16:10:34 +08:00
    用户端不靠谱,服务端吧
    daguaochengtang
        21
    daguaochengtang  
       2020-01-07 17:52:59 +08:00
    @triple7 我先开一个空的标签页,f12 调出来之后再输入网址,怎么破
    Ritr
        22
    Ritr  
       2020-01-07 17:56:33 +08:00
    服务端渲染,或者硬编码
    triple7
        23
    triple7  
       2020-01-07 18:39:20 +08:00
    @nikolausliu #21 如果能准确判断,可以在检测到之后直接搞挂掉网页吧。
    @13192262269
    搜了下还真有个开源 https://sindresorhus.com/devtools-detect/
    简单试了这种方式,还是有点粗糙,直接模拟手机就不行了。
    liuzhaowei55
        24
    liuzhaowei55  
       2020-01-07 18:43:40 +08:00
    没有意义。
    可以将内容和水印在服务器上渲染到一起,比如渲染为图片然后再发送给用户。
    zenxds
        25
    zenxds  
       2020-01-07 18:49:13 +08:00
    写段轮询的代码,检查到没有水印就把页面关了
    yujiang
        26
    yujiang  
       2020-01-07 19:44:34 +08:00 via Android
    输出为图片形式不就好了
    jfhy0901
        27
    jfhy0901  
       2020-01-07 20:18:35 +08:00 via Android
    前端做事只为体验好,这种操作没意义,这种事必须后端做!
    另外,我想问问,当网页的 jquery 加载不出来导致的错误,怎么 F12 修改地址以使得网页可以正常运行呢?比如访问一些外国网站,都是谷歌 CDN,没有工具就很烦。
    loading
        28
    loading  
       2020-01-07 21:26:20 +08:00 via Android
    我曾经说过的话:你为了这种所谓的加密,你多费一天,在破解高手面前也就多费一分钟而已。

    后端加好吧。

    前端分析你一个 js,然后挟持一个 js 就好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   899 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:37 · PVG 05:37 · LAX 13:37 · JFK 16:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.