V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
amd

网页禁用右键我见过,禁用 F12 是如何实现的?

  •  
  •   amd · Dec 30, 2017 · 13469 views
    This topic created in 3039 days ago, the information mentioned may be changed or developed.
    示例,美少女漫画,怎么捉图片 url,https://tonarinoyj.jp/episode/13932016480029230831
    35 replies    2018-01-01 18:06:00 +08:00
    eslizn
        1
    eslizn  
       Dec 30, 2017
    怎么实现我不知道,但是你可以先 F12 再访问呀。。。
    Midnight
        2
    Midnight  
       Dec 30, 2017
    键盘事件拦截吧?
    lniwn
        3
    lniwn  
       Dec 30, 2017 via iPhone
    fiddler
    acr0ss
        4
    acr0ss  
       Dec 30, 2017
    ctrl + shift + J

    chrome
    mokeyjay
        5
    mokeyjay  
       Dec 30, 2017
    这种网站不是 flash 就是 canvas,捉不到图片 URL 的。你可以右键审查元素
    AltairT
        6
    AltairT  
       Dec 30, 2017
    很牛啊,F12 后发现看到的图也是切割打乱的,当然我是打开之前就 F12 了
    QAPTEAWH
        8
    QAPTEAWH  
       Dec 30, 2017 via iPhone
    有本事把 prt scr 拦截了...
    ByteRan
        9
    ByteRan  
       Dec 30, 2017   ❤️ 3
    刚好写过这个
    http://100006.yunduanyin.com/tfh/index4Pro/

    原理:

    document.oncontextmenu = function () {//右键禁用
    return false;
    };
    document.oncopy = function () {//复制禁用
    return false;
    };

    document.addEventListener('keydown', function (e) {//按键禁用
    try {
    e = e || event || window.event;
    var keycode = e.keyCode || e.which || e.charCode;
    var ctrlKey = e.ctrlKey || e.metaKey;
    if (keycode == 123) {//F12
    e.preventDefault();
    window.event.returnValue = false;
    } else if (keycode == 8) {
    var act = document.activeElement.tagName.toLowerCase();
    if (act.indexOf("body") != -1 || act.indexOf("html") != -1) {
    window.history.back();
    return false;
    }
    return true;
    } else if (ctrlKey && keycode == 83) {//ctrl+S
    e.preventDefault();
    window.event.returnValue = false;
    } else if (ctrlKey && keycode == 87) {//ctrl+W
    e.preventDefault();
    window.event.returnValue = false;
    } else if (ctrlKey && keycode == 107) {//ctrl++
    e.preventDefault();
    window.event.returnValue = false;
    } else if (ctrlKey && keycode == 109) {//ctrl+-
    e.preventDefault();
    window.event.returnValue = false;
    } else if (keycode == 122) {//F11
    $('#switchFullScreenCloseBtn').trigger("click");
    }

    } catch (e) {
    console.error(e);
    }
    });
    ByteRan
        10
    ByteRan  
       Dec 30, 2017   ❤️ 1
    ctrl + shift + J
    ctrl + shift + I

    这几个楼主可以试一下
    ByteRan
        11
    ByteRan  
       Dec 30, 2017   ❤️ 1
    navigaid
        12
    navigaid  
       Dec 30, 2017
    ```
    // Disable right click
    $(document).on("contextmenu", function (e) {
    e.preventDefault();
    });
    ```

    ```
    // Disable F12 / Ctrl+Shift+I / Ctrl+Shift+J
    $(document).keydown(function (event) {
    if (event.keyCode == 123) { // Prevent F12
    return false;
    } else if (event.ctrlKey && event.shiftKey && event.keyCode == 73) { // Prevent Ctrl+Shift+I
    return false;
    } else if (event.ctrlKey && event.shiftKey && event.keyCode == 74) { // Prevent Ctrl+Shift+J
    return false;
    }
    });
    ```
    nlysh007
        13
    nlysh007  
       Dec 30, 2017
    调试窗口设置成单独显示就行了
    mopiaoyao
        14
    mopiaoyao  
       Dec 30, 2017 via Android   ❤️ 2
    越是大站越不会斤斤计较
    chinvo
        15
    chinvo  
       Dec 30, 2017
    禁用按键并不能阻挡你从菜单开开发者工具

    图是切了用 canvas 画出来的,没深入研究

    这个思路有点意思
    Fishdrowned
        16
    Fishdrowned  
       Dec 30, 2017
    中键再右键可破
    YyYyYyy
        17
    YyYyYyy  
       Dec 30, 2017
    @mopiaoyao 你想多了,和站大不大无关
    日本网站基本都喜欢这样,那边连歌词也是讲版权的,不让随便复制粘贴
    learnshare
        18
    learnshare  
       Dec 30, 2017
    document.addEventListener('keydown', (event) => { if (event.keyCode === 123) { event.preventDefault(); } })

    http://keycode.info/
    cnwtex
        21
    cnwtex  
       Dec 30, 2017
    一张图分成 16 块,横着读 1234 块,竖着排就复原了,肉眼可以看出的规律啊
    run2
        22
    run2  
       Dec 30, 2017
    这种应该可以用 https://github.com/GoogleChrome/puppeteer 来破 直接把显示出来的截图 😂
    bigtwo
        23
    bigtwo  
       Dec 31, 2017
    点地址栏再按也行
    beastk
        24
    beastk  
       Dec 31, 2017 via iPhone
    菜单打开调试器就好
    grimpil
        25
    grimpil  
       Dec 31, 2017 via Android
    我上次遇到禁 F12 的页面是用记事本直接打开 url 看源码,居然真打开了
    xiaocsl
        26
    xiaocsl  
       Dec 31, 2017
    禁用右键和 F12 都较简单,以 Chrome 为例,你使用 Ctrl+Shift+I 可以打开控制台,或者从 菜单>更多工具>开发者工具 手动点也能打开,如果你需要"真正的禁用控制台"可以看一下这个帖子,效果要更好一些. /t/412867
    doubleflower
        27
    doubleflower  
       Dec 31, 2017 via Android
    还可以监视网页窗口大小,发现突然高度小了一块,就说明开调试工具了
    gkiwi
        28
    gkiwi  
       Dec 31, 2017   ❤️ 1
    楼上的,你们没往前翻几页看看么?开车了。。。
    M4ster
        29
    M4ster  
       Dec 31, 2017
    Emmm... 如果是 Chrome,是有办法检测 console 是否打开了的。
    xFan
        30
    xFan  
       Dec 31, 2017
    ctrl + shift + i chrome 上

    或者 更多工具, 开发者工具- -#· chrome 上
    components
        31
    components  
       Dec 31, 2017
    https://github.com/sindresorhus/devtools-detect
    一旦发现用户开启控制台,就强行关闭 tab
    其实,也没啥用的,用户可以禁用 JS,用户可以抓包,等等
    破法很多的
    TestSmirk
        32
    TestSmirk  
       Dec 31, 2017
    ctrl + shift + i,j,c 都能打开...
    xuexixuexi2
        33
    xuexixuexi2  
       Dec 31, 2017
    是打开开发者工具吗?我用 Opera 可以打开啊
    xuexixuexi2
        34
    xuexixuexi2  
       Dec 31, 2017
    dokimaster
        35
    dokimaster  
       Jan 1, 2018
    截图抓图怎样- -,好像跑题了。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5902 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 452ms · UTC 03:34 · PVG 11:34 · LAX 20:34 · JFK 23:34
    ♥ Do have faith in what you're doing.