Zakažte uživatelskou konzoli JavaScriptu

Existuje několik obřích společností, jmenovitě Facebook a Netflix, které se rozhodly efektivně znemožnit uživateli spouštět příkazy konzoly JavaScriptu. Rozhodnutí bylo původně učiněno Facebookem, aby zabránil uživatelům ve spouštění specifické sady příkazů, které by odhalily uživatelské informace prostřednictvím konzole JavaScript (zpráva byla odeslána všem uživatelům Facebooku prostřednictvím masivní zprávy SPAM). Samozřejmě to bylo předmětem spousty kritiky, ale než se zvážím, zde je kód, jak to udělat:

// It appears Netflix is following (Facebook's lead)[https://news.ycombinator.com/item?id=7222129].

(function() {
    try {
        var $_console$$ = console;
        Object.defineProperty(window, "console", {
            get: function() {
                if ($_console$$._commandLineAPI)
                    throw "Sorry, for security reasons, the script console is deactivated on netflix.com";
                return $_console$$
            },
            set: function($val$$) {
                $_console$$ = $val$$
            }
        })
    } catch ($ignore$$) {
    }
})();

Ne že by na mém názoru moc záleželo, ale ve skutečnosti si myslím, že tato praxe je poněkud legitimní. Z jejich pohledu, pokud deaktivace konzol pomáhá dočasně zabránit problému, musíte to udělat. Z dlouhodobého hlediska to opravdu není dobrý nápad; mohou se stát cílem jednoduše na základě jejich snahy zablokovat lidi. Bez ohledu na to se zdá, že tento kód funguje, takže pokud chcete zabránit spuštění konzoly, udělá to.