网页如何做到禁止 F12 和右键的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhangpeter
V2EX    问与答

网页如何做到禁止 F12 和右键的?

  •  1
     
  •   zhangpeter 2019-03-07 10:22:33 +08:00 19151 次点击
    这是一个创建于 2422 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我打开正版中国的网站: https://getitfree.cn/

    然后我发现我在这个页面上按 F12 或者右键都没反应,问一下 V2EX 的大佬们,这是怎么做到的?

    67 条回复    2020-06-07 10:50:07 +08:00
    dullwit
        1
    dullwit  
       2019-03-07 10:27:22 +08:00
    没什么用,浏览器输入 view-source:https://getitfree.cn 一样的看源码
    调试的话,从菜单栏就可以打开调试工具
    估计是挡小白,至于如何实现:在 js 里面有拦截 keyCode
    hayi
        2
    hayi  
       2019-03-07 10:29:40 +08:00   3
    document.Onkeydown= function(e) {
    if (e.ctrlKey &&
    (e.keyCode === 65 ||
    e.keyCode === 67 ||
    e.keyCode === 73 ||
    e.keyCode === 74 ||
    e.keyCode === 80 ||
    e.keyCode === 83 ||
    e.keyCode === 85 ||
    e.keyCode === 86 ||
    e.keyCode === 117
    )) {
    return false;
    }
    if(e.keyCode==18||e.keyCode==123){return false}
    };
    lingo
        3
    lingo  
       2019-03-07 10:30:01 +08:00   5
    是真的没用。。。我为什么要先开网页再按 F12 ?
    我就不能先按 F12 再进这个网页么。
    Hypn0s
        4
    Hypn0s  
       2019-03-07 10:31:18 +08:00
    document.Ondragstart=function(){return false}; //for image
    document.Oncontextmenu=function(e){return false}; //for right click disable

    补充一下上面两行
    yggd
        5
    yggd  
       2019-03-07 10:31:32 +08:00
    监听键盘事件
    koor
        6
    koor  
       2019-03-07 10:32:42 +08:00
    /div>
    在源码最后一行
    ```
    <script type="text/Javascript">
    function inlobase_noF12(){if(! current_user_can( 'edit_posts' )){while(1){}}function inlojv_console(){if((window.console&&(console.firebug||console.table&&/firebug/i.test(console.table())))||(typeof opera=="object"&&typeof opera.postError=="function"&&console.profile.length>0)){inlobase_noF12()}if(typeof console.profiles=="object"&&console.profiles.length>0){inlobase_noF12()}}inlojv_console();window.Onresize=function(){if((window.outerHeight-window.innerHeight)>200){inlobase_noF12()}}};
    </script>
    ```
    tabris17
        7
    tabris17  
       2019-03-07 10:33:11 +08:00   8
    太太太幼稚了

    太太太低级了

    你把输入焦点放在浏览器地址栏,然后按下 F12 就可以打开调试窗口了。
    x86
        8
    x86  
       2019-03-07 10:33:55 +08:00   1
    问题我是按 option+command+j
    ochatokori
        9
    ochatokori  
       2019-03-07 10:36:52 +08:00 via Android
    挡挡小白就禁止关了右键(contextmeau)事件和监听键盘禁用一些快捷键,真要防防不住
    boris1993
        10
    boris1993  
       2019-03-07 10:40:26 +08:00 via Android
    问题我是按I
    Vegetable
        11
    Vegetable  
       2019-03-07 10:44:02 +08:00   20
    "领导你看,我们做这个网页,按 F12 没反应,也不能点击右键,图片根本复制不出去,最大限度的保证了我们站内资源的安全!"
    Exia
        12
    Exia  
       2019-03-07 10:47:10 +08:00   1
    不知道做这个功能由什么用啊,一般人用不上,用得上的人也挡不了。
    DnC
        13
    DnC  
       2019-03-07 10:48:30 +08:00
    同 2 楼,哈哈,自己看下页面代码呀,

    document.Ondragstart=function(){return false}; //for image
    document.Oncontextmenu=function(e){return false}; //for right click disable
    document.Onkeydown= function(e) {
    if (e.ctrlKey &&
    (e.keyCode === 65 ||
    e.keyCode === 67 ||
    e.keyCode === 73 ||
    e.keyCode === 74 ||
    e.keyCode === 80 ||
    e.keyCode === 83 ||
    e.keyCode === 85 ||
    e.keyCode === 86 ||
    e.keyCode === 117
    )) {
    return false;
    }
    if(e.keyCode==18||e.keyCode==123){return false}
    };
    JamesR
        14
    JamesR  
       2019-03-07 11:02:50 +08:00   1
    lzvezr
        15
    lzvezr  
       2019-03-07 11:06:20 +08:00 via iPhone
    大概就是做做样子吧,还是可以防住一些人的
    U7Q5tLAex2FI0o0g
        16
    U7Q5tLAex2FI0o0g  
       2019-03-07 11:11:54 +08:00
    问题我是按I +1
    FakeLeung
        17
    FakeLeung  
       2019-03-07 11:14:42 +08:00
    可以防得住 90% 的人,够了。
    limingjie138
        18
    limingjie138  
       2019-03-07 11:20:06 +08:00 via iPhone
    之前某解析网站除了网页资源爬虫,开发者工具不允许开,不管用什么方法
    tuding
        19
    tuding  
       2019-03-07 11:28:47 +08:00
    @limingjie138 #18 有点好奇, 发出来瞧瞧呢
    tanranran
        20
    tanranran  
       2019-03-07 11:34:15 +08:00   2
    @limingjie138 #18 #18


    `<!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    123
    <script>
    function checkDebugger(){
    const d=new Date();
    debugger;
    const dur=Date.now()-d;
    if(dur<5){
    return false;
    }else{
    return true;
    }
    }
    function breakDebugger(){
    if(checkDebugger()){
    breakDebugger();
    }
    }

    document.body.Onclick=function(){
    breakDebugger();
    alert(1);
    };
    </script>
    </body>`
    Solace202
        21
    Solace202  
       2019-03-07 11:43:59 +08:00 via Android
    攻防转换,令人窒息
    demo
        22
    demo  
       2019-03-07 11:48:12 +08:00
    幼稚,我按 I
    di1012
        23
    di1012  
       2019-03-07 11:52:32 +08:00
    鼠标点开发者工具不就行了
    ytlook
        24
    ytlook  
       2019-03-07 12:07:55 +08:00
    GetItFree.cn 的中文名叫正版中国,也是蛮有意思的。
    bullfrog
        25
    bullfrog  
       2019-03-07 12:40:39 +08:00
    幼稚,视图-开发者-开发者工具
    thelderfrog
        26
    thelderfrog  
       2019-03-07 13:12:32 +08:00   1
    禁止不了的
    ```setInterval(function() {
    var t1 = Date.now();
    debugger;
    var t2 = Date.now();
    if (t2 - t1 > 100) {
    console.log('debug detected');
    // send_log('ban this ip'); }
    }, 500);```
    crab
        27
    crab  
       2019-03-07 13:17:49 +08:00
    @limingjie138 有的是死循环 debug,有的直接退出当前网页,后来是找出功能相关的 js,屏蔽这个 js 文件的请求。
    ChiangDi
        28
    ChiangDi  
       2019-03-07 13:24:44 +08:00
    有啥用 我按 command shift c 就打开了
    WuwuGin
        29
    WuwuGin  
       2019-03-07 13:29:01 +08:00
    nanaw
        30
    nanaw  
       2019-03-07 14:06:00 +08:00 via Android
    哈哈之前一个辣鸡刷课网站 halnedu.com 就这么搞,然后我 chrome 菜单里面打开开发工具清楚的看到 index.js 里面还带着注释“禁用右键,禁用 f12 ”。真的是蠢到家
    iblessyou
        31
    iblessyou  
       2019-03-07 14:21:37 +08:00   1
    @nanaw 都是挡小白的,对于大神写不写都一样。

    以前玩魔兽争霸,很多人会用个工具给地图加作弊功能,那工具默认开启作弊是方向 上上左下,
    当时我们刚开始作图水平低,大家也没什么好办法防改图作弊,
    我想个办法,当按方向键时会提示其他人有人开启作弊同时做其他处理,
    还别说,一时清静了好多,后来发现好多其他图也有这功能 (_)
    nanaw
        32
    nanaw  
       2019-03-07 14:26:18 +08:00 via Android
    @iblessyou 右键挡小白也就算了。f12 真没必要。但凡用到 f12 的人又怎么可能挡得住
    qping
        33
    qping  
       2019-03-07 15:19:51 +08:00
    @JamesR #14 chrome 插件太多了,我去油猴上搜了搜,还真搜到了一个
    onlyice
        34
    onlyice  
       2019-03-07 15:54:56 +08:00 via Android
    @iblessyou 解答了我 N 年前的疑惑。。
    canbingzt
        35
    canbingzt  
       2019-03-07 16:07:45 +08:00
    @thelderfrog
    我遇到一个网站,打开 F12 后,就会进入一个断点,怎么都跳不过去,应该就是这样的
    rabbit
        36
    rabbit  
       2019-03-07 16:27:21 +08:00
    我也遇到了一个网站 调试代码界面只要开着 他就会告诉你 你开着调试 请关闭再刷新
    这种是怎么做到的
    iblessyou
        37
    iblessyou  
       2019-03-07 16:50:13 +08:00
    @onlyice 为什么按方向键会有提示?
    watch
        38
    watch  
       2019-03-07 16:52:02 +08:00 via iPhone
    我骗我自己
    1072512118
        39
    1072512118  
       2019-03-07 17:03:21 +08:00
    @rabbit 判断浏览器的可视高度和可视宽度是否有改变
    rain0002009
        40
    rain0002009  
       2019-03-07 17:18:56 +08:00
    幼稚 禁用 js 想干啥干啥
    opengps
        41
    opengps  
       2019-03-07 17:23:16 +08:00
    前几楼已经有人道出了真谛,仅仅是用 js 防止了 keycode,阻挡小白看代码而已
    lynan
        42
    lynan  
       2019-03-07 17:28:01 +08:00
    mac 上 chrome 开发者工具是 cmd + option + i,它这个也不管用
    嘤嘤嘤。
    ayase252
        43
    ayase252  
       2019-03-07 17:30:36 +08:00
    骗自己,dev tool 是浏览器的功能,你能阻止我打开?
    chrome 三个点->更多工具->开发者工具 不谢
    Yourshell
        44
    Yourshell  
       2019-03-07 18:08:17 +08:00
    你需要使用你的网站黑掉用户浏览器
    zachlhb
        45
    zachlhb  
       2019-03-07 18:10:50 +08:00 via Android
    不管你怎么禁,我用 IE 把 Javascript 禁止不就行了
    tyrealgray
        46
    tyrealgray  
       2019-03-07 18:13:46 +08:00
    NicholasYX
        47
    NicholasYX  
       2019-03-07 18:17:07 +08:00 via iPhone
    没有用
    onlyice
        48
    onlyice  
       2019-03-07 19:46:03 +08:00
    @iblessyou #37 我不知道有这种方式作弊,但是看到屏幕上不停显示有人可能在作弊,就觉得很奇怪
    ooh
        49
    ooh  
       2019-03-07 22:31:41 +08:00
    掩耳盗铃而已,我都想看了,你还能防止我?
    nicevar
        50
    nicevar  
       2019-03-07 22:43:43 +08:00
    windows 上 ctrl+shift+I 也是可以的
    flynaj
        51
    flynaj  
       2019-03-07 23:31:55 +08:00 via Android
    确实没有什么用处,可以点菜单的。
    Liberal0
        52
    Liberal0  
       2019-03-08 01:43:26 +08:00 via Android
    @nicevar 试了下,Ctrl+shift+i 也禁止了→_→
    binux
        53
    binux  
       2019-03-08 05:42:46 +08:00 via Android
    @thelderfrog 你代码执行都被断掉了,还发啥 log 哦
    cpdyj0
        54
    cpdyj0  
       2019-03-08 08:20:27 +08:00
    @rabbit 上面那个代码似乎就是干这个用的,开不开开发者工具 console.log 执行时间不一致
    jackchao7432
        55
    jackchao7432  
       2019-03-08 08:39:38 +08:00
    @Vegetable 就怕领导懂技术
    Rehtt
        56
    Rehtt  
       2019-03-08 09:02:56 +08:00 via Android
    这只是挡小白和唬门外汉的。
    nicevar
        57
    nicevar  
       2019-03-08 09:29:16 +08:00
    @Liberal0 哪里禁止了,直接就开启了,mac 也是可以的
    xiaoyang7545
        58
    xiaoyang7545  
       2019-03-08 09:39:58 +08:00
    @bullfrog 可以检测的 debuger 的那个最终的状态的。详情 20 楼
    wolfie
        59
    wolfie  
       2019-03-08 11:00:07 +08:00
    alt + d -> cntrl + shift + i
    ibegyourpardon
        60
    ibegyourpardon  
       2019-03-08 11:34:30 +08:00
    没啥好嘲笑的,小白这东西,拦一个是一个。

    小白如果自己愿意上网查找答案,发现原来可以轻松破解,那也是好事,那意味着小白也多少学到了一点点新东西。

    所以其实拦的不是小白,是某种意义上的伸手党,F12 一按就想抄。同样都是小白,能自己找寻破解方法和不愿意找的还是不一样的。
    zw1one
        61
    zw1one  
       2019-03-08 12:51:52 +08:00 via Android
    chrome 下 ctr shift c
    thelderfrog
        62
    thelderfrog  
       2019-03-09 00:41:14 +08:00
    @binux 断点调试可以跳过和关闭,最后会执行到 log
    binux
        63
    binux  
       2019-03-09 02:24:30 +08:00
    @thelderfrog #62 我看到你在检测 debugger 了,我干嘛还要跳过?
    thelderfrog
        64
    thelderfrog  
       2019-03-10 14:13:12 +08:00 via iPhone
    @binux 不用管是否会被跳过,只是把被跳过后的情况覆盖到
    limingjie138
        65
    limingjie138  
       2019-03-11 21:24:12 +08:00
    @tuding 找了好几天 没找到网站,可能凉了 好久以前看高清枪电遇到的
    zhwei1228
        66
    zhwei1228  
       2020-06-07 10:48:08 +08:00
    如果一打开前端控制台就会跳转到一个提示页面该怎么破呢?请教各位大神
    zhwei1228
        67
    zhwei1228  
       2020-06-07 10:50:07 +08:00
    我想看的是控制台中某个请求中 preview 中的数据,不知道有什么办法能看到,请教各位大神
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3100 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 64ms UTC 11:36 PVG 19:36 LAX 04:36 JFK 07:36
    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