禁用JavaScript控制台调试

简介: 原文链接: Disable the User’s JavaScript Console原文日期: 2014年03月06日翻译日期: 2014年03月07日翻译人员: 铁锚有几个巨头公司,即Facebook和Netflix,决定禁止用户在控制台(console)执行JavaScript命令。

原文链接: Disable the User’s JavaScript Console

原文日期: 2014年03月06日

翻译日期: 2014年03月07日

翻译人员: 铁锚


有几个巨头公司,即Facebook和Netflix,决定禁止用户在控制台(console)执行JavaScript命令。
最初这是 由Facebook开始的 ,用于防止恶意用户通过JavaScript控制台执行特定的命令散播消息(发送给所有Facebook用户大量垃圾信息)。
当然这受到很多指责,但在我参与之前, 他们使用的代码 如下所示:
// 看起来 Netflix 似乎是唯 Facebook 马首是瞻 [https://news.ycombinator.com/item?id=7222129].

(function() {
    try {
        var $_console$$ = console;
        Object.defineProperty(window, "console", {
            get: function() {
                if ($_console$$._commandLineAPI)
                    throw "抱歉, 为了用户安全, 本网站已禁用console脚本功能";
                return $_console$$
            },
            set: function($val$_$) {
                $_console$$ = $val$_$
            }
        })
    } catch ($ignore$$) {
    }
})();
虽然我人微言轻,但实际上我认为这种做法是合法的。从他们的角度来看,如果暂时禁用控制台有助于防止一个问题,那就不得不这样做。

但从长远来看,这真的不是一个好主意;其目标可能只是想要屏蔽依赖他们的目标用户。 

无论如何,如果你想防止控制台执行脚本,这段代码看起来效果不错,也的确如此。

目录
相关文章
|
2月前
|
JavaScript 前端开发 算法
Node.js 艺术:用代码打印出绚丽多彩的控制台柱状图
Node.js 艺术:用代码打印出绚丽多彩的控制台柱状图
41 0
|
5月前
|
JavaScript
Sublime Text3 直接运行js调试控制台
Sublime Text3 直接运行js调试控制台
|
6月前
|
Web App开发 开发者
利用chrome控制台调试post请求
利用chrome控制台调试post请求
161 0
|
6月前
|
JavaScript 前端开发 Windows
VScode的注释和标题,标签,img的src属性(如何网页上插入图片)(Mac如何开启js控制台)(如何免费复制网页中的文字)
VScode的注释和标题,标签,img的src属性(如何网页上插入图片)(Mac如何开启js控制台)(如何免费复制网页中的文字)
|
2月前
|
JavaScript 开发者
JS逆向 -- 本地调试
JS逆向 -- 本地调试
15 0
|
2月前
|
JavaScript 数据安全/隐私保护 开发者
JS逆向 -- 动态调试
JS逆向 -- 动态调试
24 1
|
6月前
|
前端开发 JavaScript UED
JavaScript 语法:语法约定与程序调试
JavaScript 语法 之 语法约定与程序调试
36 0
JavaScript 语法:语法约定与程序调试
|
4月前
|
前端开发 JavaScript
idea 对JavaScript进行debug调试
idea 对JavaScript进行debug调试
|
8月前
|
JavaScript
JS禁止打开控制台(鼠标右键)
JS禁止打开控制台(鼠标右键)
155 0
|
5月前
|
Web App开发 前端开发 JavaScript
JavaScript浏览器开发者工具和常用的IDE的调试功能
JavaScript浏览器开发者工具和常用的IDE的调试功能