【问题标题】:disable internet explorer console from javascript从 javascript 禁用 Internet Explorer 控制台
【发布时间】:2014-06-03 08:30:34
【问题描述】:

是否可以禁用 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>

但没用

【问题讨论】:

  • 我觉得你做不到,让我们等待答案。
  • 我可以告诉你如何禁用 IE..
  • 为什么要禁用它?禁用它只会让你自己的开发更加困难? (而且阻止对脚本的访问是行不通的:可以直接下载脚本并使用其他工具查看。)
  • window 更改为 eval, Object.defineProperty( eval, "console", { ...

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


【解决方案1】:

不,不是。

你不能强迫浏览器(不)做这样的事情。

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

【讨论】:

    【解决方案2】:

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

    也就是说...如果您很难从控制台禁用 JS 执行,请禁用 EVAL 语句(F12 控制台用于评估脚本)。

    例子:

    eval = function() {}
    

    【讨论】:

      【解决方案3】:

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

      [HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\IEDevTools] "已禁用"=dword:00000001

      这也可以由组策略设置,如“关闭开发人员工具”中所述。

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

      注意:您可以破解一些东西以尝试破坏工具,但这不是禁用它的受支持机制:)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-22
        • 1970-01-01
        • 2011-03-20
        相关资源
        最近更新 更多