请教,如何实现当 js 没有被加载时,将页面无法打开? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
13192262269
V2EX    问与答

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

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

    如题 因为公司有个页面涉及敏感信息,需要加入水印 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 页面就行了
    shakaraka
        4
    shakaraka  
    PRO
       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 调出来之后再输入网址,怎么破
    td width="10" valign="top">
    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     Solana     1147 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 18:00 PVG 02:00 LAX 11:00 JFK 14: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