13192262269
V2EX  ›  问与答

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

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

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

    后端加好吧。

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