ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript コンソールを無効にする方法 debugging_javascript のヒント

JavaScript コンソールを無効にする方法 debugging_javascript のヒント

WBOY
WBOYオリジナル
2016-05-16 16:56:141666ブラウズ

Facebook や Netflix などのいくつかの巨大企業は、ユーザーがコンソールで JavaScript コマンドを実行することを禁止することを決定しました。
もともとこれは、悪意のあるユーザーが JavaScript コンソールを介して特定のコマンドを実行してメッセージを拡散する (すべての Facebook ユーザーに大量のスパムを送信する) ことを防ぐために Facebook によって開始されました。
もちろん、これには多くの非難が集まりますが、私が参加する前は、彼らが使用していたコードは次のようなものでした:

コードをコピー コードは次のとおりです:

// Facebook の後に続くのは Netflix だけのようです [https://news.ycombinator.com/item?id=7222129]。 >
(function() {
try {
var $_console$$ = console;
Object.defineProperty(window, "console", {
get: function() {
if ($_console$$._commandLineAPI )
throw "ユーザーの安全のため、この Web サイトではコンソール スクリプト機能が無効になっています。";
return $_console$$
},
set : function($val$$) {
$_console$$ = $val$$
}
})
} catch ($ignore$$) {
}
} )();

私は物静かな性格ですが、実際にはこの行為は合法だと考えています。彼らの観点からすると、コンソールを一時的に無効にすることが問題の防止に役立つのであれば、そうする必要があります。

しかし、長期的には、これは本当に良い考えではありません。目的は、それらに依存するターゲット ユーザーをブロックすることだけかもしれません。

とにかく、コンソールがスクリプトを実行しないようにしたい場合、このコードはうまく機能するように見えますし、実際にそうです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。