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

2019-03-07 10:22:33 +08:00
 zhangpeter

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

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

18172 次点击
所在节点    问与答
67 条回复
dullwit
2019-03-07 10:27:22 +08:00
没什么用,浏览器输入 view-source:https://getitfree.cn 一样的看源码
调试的话,从菜单栏就可以打开调试工具
估计是挡小白,至于如何实现:在 js 里面有拦截 keyCode
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}
};
lingo
2019-03-07 10:30:01 +08:00
是真的没用。。。我为什么要先开网页再按 F12 ?
我就不能先按 F12 再进这个网页么。
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
2019-03-07 10:31:32 +08:00
监听键盘事件
koor
2019-03-07 10:32:42 +08:00
在源码最后一行
```
<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
2019-03-07 10:33:11 +08:00
太太太幼稚了

太太太低级了

你把输入焦点放在浏览器地址栏,然后按下 F12 就可以打开调试窗口了。
x86
2019-03-07 10:33:55 +08:00
问题我是按 option+command+j
ochatokori
2019-03-07 10:36:52 +08:00
挡挡小白就禁止关了右键(contextmeau)事件和监听键盘禁用一些快捷键,真要防防不住
boris1993
2019-03-07 10:40:26 +08:00
问题我是按⌥⌘I
Vegetable
2019-03-07 10:44:02 +08:00
"领导你看,我们做这个网页,按 F12 没反应,也不能点击右键,图片根本复制不出去,最大限度的保证了我们站内资源的安全!"
Exia
2019-03-07 10:47:10 +08:00
不知道做这个功能由什么用啊,一般人用不上,用得上的人也挡不了。
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
2019-03-07 11:02:50 +08:00
lzvezr
2019-03-07 11:06:20 +08:00
大概就是做做样子吧,还是可以防住一些人的
littleylv
2019-03-07 11:11:54 +08:00
问题我是按⌥⌘I +1
FakeLeung
2019-03-07 11:14:42 +08:00
可以防得住 90% 的人,够了。
limingjie138
2019-03-07 11:20:06 +08:00
之前某解析网站除了网页资源爬虫,开发者工具不允许开,不管用什么方法
tuding
2019-03-07 11:28:47 +08:00
@limingjie138 #18 有点好奇, 发出来瞧瞧呢
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>`

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/542001

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX