Varias empresas gigantes, como Facebook y Netflix, decidieron prohibir a los usuarios ejecutar comandos JavaScript en la consola.
Esto fue iniciado originalmente por Facebook para evitar que usuarios malintencionados difundieran mensajes (enviando una gran cantidad de spam a todos los usuarios de Facebook) ejecutando comandos específicos a través de la consola de JavaScript.
Por supuesto, esto genera muchas críticas, pero antes de involucrarme, el código que usaban se veía así:
Copie el código de código de la siguiente manera:
// Parece que Netflix está siguiendo el ejemplo de Facebook [https://news.ycombinator.com/item?id=7222129].
(función() {
intentar {
var $_console$$ = consola;
Object.defineProperty(ventana, "consola", {
obtener: función() {
si ($_console$$._commandLineAPI)
throw "Lo sentimos, por seguridad del usuario, la función de secuencia de comandos de la consola se ha deshabilitado en este sitio web";
devolver $_consola$$
},
conjunto: función($val$$) {
$_consola$$ = $val$$
}
})
} atrapar ($ignorar$$) {
}
})();
Aunque soy una persona de voz suave, creo que esta práctica es legal. Desde su perspectiva, si desactivar temporalmente la consola ayuda a prevenir un problema, entonces hay que hacerlo.
Pero a largo plazo, esto realmente no es una buena idea; el objetivo puede ser simplemente bloquear a los usuarios que dependen de ellos.
De todos modos, si desea evitar que la consola ejecute un script, este código se ve bien, y lo es.