【发布时间】:2012-12-03 07:21:37
【问题描述】:
我有一个页面,我需要禁用功能键,主要是 F12(Developertools)。 我在页面中显示了一些敏感数据,所以无论如何我都无法让用户看到 html 并获取隐藏字段。 我检查了一些适用于几乎所有键的 javascript,除了 f1、f12 等功能键。
无论如何我可以在浏览器中禁用这些按钮吗?
document.onkeyup = KeyCheck;
function KeyCheck() {
var KeyID = event.keyCode;
alert(KeyID);
switch (KeyID) {
case 123: //F12 KEY CODE
alert('hello');
return false;
break;
}
}
这是我用来覆盖密钥的代码。当我搜索时,F12 键的键码是 123,我使用相同的代码覆盖它。但不幸的是,它甚至没有点击“CASE”,按下 F12、F1 等按钮时也没有出现消息框。
请帮帮我。
【问题讨论】:
-
答案是您不应该通过网络发送敏感数据。禁用 F12 可能会禁用在一个浏览器上进入开发人员工具的一种方式。但是如果有人点击菜单选项怎么办?更不用说敏感数据对任何有一点专业知识的人都是可见的。
-
即使没有控制台,我也可以轻松获取数据或解开你的保护或用 Tampermonkey 或 Greasemonkey 挂钩我自己的控制台。
-
即使你禁用
F12,我也可以按下Ctrl+Shift+I,甚至没有意识到F12被禁用。 -
@JanDvorak。我猜 OP 也可以捕获
Ctral+Shift+I,但这可能很快就会失控,对吧?我的意思是,不同的浏览器是否都具有相同的控制台组合键?我有点怀疑。 -
@Cerbrus 你可以用
F12, Ctrl+Shift+I and RightClick杀死所有流行的五个(FF+IE+O+WK)的快捷键,但是你不能杀死它们各自的菜单项,你不能杀死Tampermonkey,你不能杀死 Fiddler...
标签: javascript asp.net browser browser-history