如何使用Javascript禁用功能键?

时间:2012-12-03 07:21:38

标签: javascript asp.net browser browser-history

我有一个页面,我需要禁用功能键主要是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,我使用相同的代码来覆盖它。但不幸的是,当按下F12,F1等按钮时,它甚至没有出现“CASE”并且没有出现消息框。

请帮助我。

6 个答案:

答案 0 :(得分:7)

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

人们仍然可以使用浏览器的菜单来启用开发控制台。或者通过右键单击 - > “检查元素”,或者使用热键打开控制台的不同部分,然后在控制台中使用Tab键切换到另一个页面,或者使用其中一个我未提及的热键。
或者,他们可以简单地禁用javascript。 (或编辑javascript以禁用该块)

现在,通过添加:
,您可以更加彻底地禁用任何按钮的功能 <{1}}在您的事件监听器中,但仍然是不可靠的。

答案 1 :(得分:0)

document.onkeydown = KeyCheck;

有效。

答案 2 :(得分:0)

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

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

  • 代理,包括像Fiddler这样的HTTP调试器/代理或内置于浏览器中的代理。
  • 从curl等控制台工具直接获取GET请求。
  • 各种网络抓取工具,包括Google等搜索引擎。

使用HTTPS并且不发送感知信息,除非严格要求是更容易保护它,而不是试图限制用户可以对他们的机器做什么。

答案 3 :(得分: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>

答案 4 :(得分: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")

答案 5 :(得分:0)

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

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

Here is the code