13192262269
V2EX  ›  问与答

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

  •  
  •   13192262269 · Jan 7, 2020 · 2903 views
    This topic created in 2357 days ago, the information mentioned may be changed or developed.

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

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

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

    后端加好吧。

    前端分析你一个 js,然后挟持一个 js 就好了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5099 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 01:15 · PVG 09:15 · LAX 18:15 · JFK 21:15
    ♥ Do have faith in what you're doing.