0

我有一个页面,我需要禁用功能键,主要是 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 等按钮时没有出现消息框。

请帮助我。

4

6 回答 6

7

当您发送数据时,没有可靠的方法可以防止用户篡改您的 javascript 数据。始终使用服务器端检查来验证返回的数据。

人们仍然可以使用浏览器的菜单来启用开发控制台。或者通过right-click--> "Inspect Element",或者使用热键打开控制台的不同部分,然后在控制台中切换到另一个页面,或者使用我没有提到的热键之一。
或者,他们可以简单地禁用 javascript。(或编辑 javascript 以禁用该块)

现在,您可以更彻底地禁用任何按钮的功能,方法是
event.preventDefault()在事件侦听器中添加:,但仍然不可靠。

于 2012-12-03T07:27:21.640 回答
0

不,您不能通过页面上的 JavaScript 禁用查看源代码/开发人员工具或浏览器的任何其他应用程序级功能。

有很多方法可以查看网页的来源。您需要完成非常艰巨的任务来限制所有外部方访问/存储/查看您的 HTML。以下是您必须禁用的其他内容的部分列表:

  • 代理,包括 HTTP 调试器/代理,如 Fiddler 或浏览器内置的。
  • 来自 curl 等控制台工具的直接 GET 请求。
  • 各种网络爬虫,包括谷歌等搜索引擎。

使用 HTTPS 并且除非严格要求,否则不要发送有意义的信息,这是比试图限制用户可以使用他们的机器做的事情更容易保护它的方法。

于 2012-12-03T07:32:43.570 回答
0
document.onkeydown = KeyCheck;

有效。

于 2012-12-03T07:24:26.583 回答
0

试试这个:

<script language="JavaScript">
    document.onkeypress = function (event) {
        event = (event || window.event);
        if (event.keyCode == 123) {
           //alert('No F-12');
            return false;
        }
    }
    document.onmousedown = function (event) {
        event = (event || window.event);
        if (event.keyCode == 123) {
            //alert('No F-keys');
            return false;
        }
    }
    document.onkeydown = function (event) {
        event = (event || window.event);
        if (event.keyCode == 123) {
            //alert('No F-keys');
            return false;
        }
    }
</script>
于 2012-12-04T13:49:28.923 回答
0

此代码非常适合我禁用右键单击和禁用 F12

<script language=JavaScript>

var message="You Have No Permission";


 function clickIE4(){
   if (event.button==2){
     alert(message);
     return false;
   }
 }

 function clickNS4(e){
   if (document.layers||document.getElementById&&!document.all){
     if (e.which==2||e.which==3){
       alert(message);
       return false;
      }
   }
 }

  if (document.layers){
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS4;
   }
   else if (document.all&&!document.getElementById){
      document.onmousedown=clickIE4;
   }

   document.oncontextmenu=new Function("alert(message);return false")

于 2015-02-04T11:36:53.180 回答
0

当用户按下 F12 键时,浏览器开发者工具栏将在浏览器的下方打开。

通过使用开发者工具栏,用户可以看到应用到页面中控件的设计、javascript 代码和相应的 css。为了防止用户这样做,我们将隐藏开发人员工具栏。

这是代码

于 2017-07-16T16:04:34.713 回答