我打开正版中国的网站: https://getitfree.cn/
然后我发现我在这个页面上按 F12 或者右键都没反应,问一下 V2EX 的大佬们,这是怎么做到的?
![]() | 1 dullwit 2019-03-07 10:27:22 +08:00 没什么用,浏览器输入 view-source:https://getitfree.cn 一样的看源码 调试的话,从菜单栏就可以打开调试工具 估计是挡小白,至于如何实现:在 js 里面有拦截 keyCode |
![]() | 2 hayi 2019-03-07 10:29:40 +08:00 ![]() 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} }; |
![]() | 3 lingo 2019-03-07 10:30:01 +08:00 ![]() 是真的没用。。。我为什么要先开网页再按 F12 ? 我就不能先按 F12 再进这个网页么。 |
![]() | 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 补充一下上面两行 |
![]() | 5 yggd 2019-03-07 10:31:32 +08:00 监听键盘事件 |
![]() | 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> ``` |
![]() | 7 tabris17 2019-03-07 10:33:11 +08:00 ![]() 太太太幼稚了 太太太低级了 你把输入焦点放在浏览器地址栏,然后按下 F12 就可以打开调试窗口了。 |
![]() | 8 x86 2019-03-07 10:33:55 +08:00 ![]() 问题我是按 option+command+j |
9 ochatokori 2019-03-07 10:36:52 +08:00 via Android 挡挡小白就禁止关了右键(contextmeau)事件和监听键盘禁用一些快捷键,真要防防不住 |
10 boris1993 2019-03-07 10:40:26 +08:00 via Android 问题我是按I |
![]() | 11 Vegetable 2019-03-07 10:44:02 +08:00 ![]() "领导你看,我们做这个网页,按 F12 没反应,也不能点击右键,图片根本复制不出去,最大限度的保证了我们站内资源的安全!" |
![]() | 12 Exia 2019-03-07 10:47:10 +08:00 ![]() 不知道做这个功能由什么用啊,一般人用不上,用得上的人也挡不了。 |
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} }; |
![]() | 14 JamesR 2019-03-07 11:02:50 +08:00 ![]() |
![]() | 15 lzvezr 2019-03-07 11:06:20 +08:00 via iPhone 大概就是做做样子吧,还是可以防住一些人的 |
![]() | 16 U7Q5tLAex2FI0o0g 2019-03-07 11:11:54 +08:00 问题我是按I +1 |
![]() | 17 FakeLeung 2019-03-07 11:14:42 +08:00 可以防得住 90% 的人,够了。 |
18 limingjie138 2019-03-07 11:20:06 +08:00 via iPhone 之前某解析网站除了网页资源爬虫,开发者工具不允许开,不管用什么方法 |
![]() | 19 tuding 2019-03-07 11:28:47 +08:00 @limingjie138 #18 有点好奇, 发出来瞧瞧呢 |
![]() | 20 tanranran 2019-03-07 11:34:15 +08:00 ![]() @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>` |
![]() | 21 Solace202 2019-03-07 11:43:59 +08:00 via Android 攻防转换,令人窒息 |
![]() | 22 demo 2019-03-07 11:48:12 +08:00 幼稚,我按 I |
![]() | 23 di1012 2019-03-07 11:52:32 +08:00 鼠标点开发者工具不就行了 |
![]() | 24 ytlook 2019-03-07 12:07:55 +08:00 GetItFree.cn 的中文名叫正版中国,也是蛮有意思的。 |
25 bullfrog 2019-03-07 12:40:39 +08:00 幼稚,视图-开发者-开发者工具 |
![]() | 26 thelderfrog 2019-03-07 13:12:32 +08:00 ![]() 禁止不了的 ```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);``` |
![]() | 27 crab 2019-03-07 13:17:49 +08:00 @limingjie138 有的是死循环 debug,有的直接退出当前网页,后来是找出功能相关的 js,屏蔽这个 js 文件的请求。 |
![]() | 28 ChiangDi 2019-03-07 13:24:44 +08:00 有啥用 我按 command shift c 就打开了 |
![]() | 30 nanaw 2019-03-07 14:06:00 +08:00 via Android 哈哈之前一个辣鸡刷课网站 halnedu.com 就这么搞,然后我 chrome 菜单里面打开开发工具清楚的看到 index.js 里面还带着注释“禁用右键,禁用 f12 ”。真的是蠢到家 |
![]() | 31 iblessyou 2019-03-07 14:21:37 +08:00 ![]() @nanaw 都是挡小白的,对于大神写不写都一样。 以前玩魔兽争霸,很多人会用个工具给地图加作弊功能,那工具默认开启作弊是方向 上上左下, 当时我们刚开始作图水平低,大家也没什么好办法防改图作弊, 我想个办法,当按方向键时会提示其他人有人开启作弊同时做其他处理, 还别说,一时清静了好多,后来发现好多其他图也有这功能 (_) |
![]() | 35 canbingzt 2019-03-07 16:07:45 +08:00 @thelderfrog 我遇到一个网站,打开 F12 后,就会进入一个断点,怎么都跳不过去,应该就是这样的 |
36 rabbit 2019-03-07 16:27:21 +08:00 我也遇到了一个网站 调试代码界面只要开着 他就会告诉你 你开着调试 请关闭再刷新 这种是怎么做到的 |
38 watch 2019-03-07 16:52:02 +08:00 via iPhone 我骗我自己 |
![]() | 39 1072512118 2019-03-07 17:03:21 +08:00 @rabbit 判断浏览器的可视高度和可视宽度是否有改变 |
![]() | 40 rain0002009 2019-03-07 17:18:56 +08:00 幼稚 禁用 js 想干啥干啥 |
![]() | 41 opengps 2019-03-07 17:23:16 +08:00 前几楼已经有人道出了真谛,仅仅是用 js 防止了 keycode,阻挡小白看代码而已 |
![]() | 42 lynan 2019-03-07 17:28:01 +08:00 mac 上 chrome 开发者工具是 cmd + option + i,它这个也不管用 嘤嘤嘤。 |
![]() | 43 ayase252 2019-03-07 17:30:36 +08:00 骗自己,dev tool 是浏览器的功能,你能阻止我打开? chrome 三个点->更多工具->开发者工具 不谢 |
![]() | 44 Yourshell 2019-03-07 18:08:17 +08:00 你需要使用你的网站黑掉用户浏览器 |
![]() | 45 zachlhb 2019-03-07 18:10:50 +08:00 via Android 不管你怎么禁,我用 IE 把 Javascript 禁止不就行了 |
![]() | 46 tyrealgray 2019-03-07 18:13:46 +08:00 |
![]() | 47 NicholasYX 2019-03-07 18:17:07 +08:00 via iPhone 没有用 |
![]() | 49 ooh 2019-03-07 22:31:41 +08:00 掩耳盗铃而已,我都想看了,你还能防止我? |
50 nicevar 2019-03-07 22:43:43 +08:00 windows 上 ctrl+shift+I 也是可以的 |
![]() | 51 flynaj 2019-03-07 23:31:55 +08:00 via Android 确实没有什么用处,可以点菜单的。 |
![]() | 53 binux 2019-03-08 05:42:46 +08:00 via Android @thelderfrog 你代码执行都被断掉了,还发啥 log 哦 |
![]() | 55 jackchao7432 2019-03-08 08:39:38 +08:00 @Vegetable 就怕领导懂技术 |
![]() | 56 Rehtt 2019-03-08 09:02:56 +08:00 via Android 这只是挡小白和唬门外汉的。 |
![]() | 58 xiaoyang7545 2019-03-08 09:39:58 +08:00 @bullfrog 可以检测的 debuger 的那个最终的状态的。详情 20 楼 |
![]() | 59 wolfie 2019-03-08 11:00:07 +08:00 alt + d -> cntrl + shift + i |
60 ibegyourpardon 2019-03-08 11:34:30 +08:00 没啥好嘲笑的,小白这东西,拦一个是一个。 小白如果自己愿意上网查找答案,发现原来可以轻松破解,那也是好事,那意味着小白也多少学到了一点点新东西。 所以其实拦的不是小白,是某种意义上的伸手党,F12 一按就想抄。同样都是小白,能自己找寻破解方法和不愿意找的还是不一样的。 |
61 zw1one 2019-03-08 12:51:52 +08:00 via Android chrome 下 ctr shift c |
![]() | 62 thelderfrog 2019-03-09 00:41:14 +08:00 @binux 断点调试可以跳过和关闭,最后会执行到 log |
![]() | 63 binux 2019-03-09 02:24:30 +08:00 @thelderfrog #62 我看到你在检测 debugger 了,我干嘛还要跳过? |
![]() | 64 thelderfrog 2019-03-10 14:13:12 +08:00 via iPhone @binux 不用管是否会被跳过,只是把被跳过后的情况覆盖到 |
65 limingjie138 2019-03-11 21:24:12 +08:00 @tuding 找了好几天 没找到网站,可能凉了 好久以前看高清枪电遇到的 |
66 zhwei1228 2020-06-07 10:48:08 +08:00 如果一打开前端控制台就会跳转到一个提示页面该怎么破呢?请教各位大神 |
67 zhwei1228 2020-06-07 10:50:07 +08:00 我想看的是控制台中某个请求中 preview 中的数据,不知道有什么办法能看到,请教各位大神 |