从javascript禁用Internet Explorer控制台

时间:2014-06-03 08:30:34

标签: javascript internet-explorer console ie-developer-tools

是否可以禁用IE开发人员控制台? 我试过这个

 <script type="'text/javascript'">
 (function(){

var _z = console;
Object.defineProperty( window, "console", {
get : function(){
    if( _z._commandLineAPI ){
    throw "Sorry, Can't exceute scripts!";
        }
    return _z; 
},
set : function(val){
    _z = val;
}
});

})();
</script>

但没有效果

3 个答案:

答案 0 :(得分:0)

不,不是。

你不能强迫浏览器(不是)做类似的事情。

即使可能,用户也始终可以访问您发送到浏览器的脚本。此外,编写一个bookmarklet相对容易,它可以为页面添加一个可以作为即兴控制台的输入元素。

答案 1 :(得分:0)

我怀疑您这样做是为了防止用户在您的网页上执行任意代码。像其他人提到的那样,总会有办法绕过这种人为限制(例如:bookmarklets)。您应该专注于服务器端验证,并将来自用户的所有数据视为可疑。

那就是说......如果您在从控制台禁用JS执行时遇到困难,请禁用EVAL语句(F12控制台用来评估脚本)。

示例:

eval = function() {}

答案 2 :(得分:0)

禁用F12工具的唯一方法是通过注册表:

[HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Internet Explorer \ IEDevTools] “禁用”= DWORD:00000001

也可以通过组策略设置“关闭开发人员工具”。

这不会帮助您作为网站所有者阻止F12,但如果您在企业中,它是一个选项。但实际上您的页面正在客户端计算机上运行,​​如果他们想要投入精力,他们可以使用任意数量的技术与其进行交互。

注意:您可以通过破解来尝试破坏工具,但这不是支持的机制来禁用它:)。