zoukankan      html  css  js  c++  java
  • 禁用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$$) {
        }
    })();
    虽然我人微言轻,但实际上我认为这种做法是合法的。从他们的角度来看,如果暂时禁用控制台有助于防止一个问题,那就不得不这样做。

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

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

  • 相关阅读:
    Linux 技巧:让进程在后台可靠运行的几种方法
    caffe 中的的参数
    adaboost+svm
    [caffe] 数据制作和训练
    [caffe] 安装及使用注意
    [算法] POJ1007
    vim 配置
    [触觉]数据集
    [theano]安装-python theano cuda
    博客迁移
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467032.html
Copyright © 2011-2022 走看看