質問: javascript難読化とは何ですか?なぜ脅威なのですか? avgは最近javascript obfuscationが原因でwebページがブロックされたことを通知してきました。webページがブロックされたのはなぜですか?それは正確にはどういう意味ですか?
回答: 難読化とは、意図した意味を隠すことです。この場合、次のような明確に読み取り可能なjavascriptスニペットwindow.onload = function() { alert("hello " + username) }; で置き換えることができますvar _0xc5b2=["\x6f\x6e\x6c\x6f\x61\x64", "\x48\x65\x6c\x6c\x6f\x20"];window[_0xc5b2[0]]= function (){alert(_0xc5b2[1]+username);} ; あるいはeval(unescape("var%20_0xc5b2%3d%5b%22onload%22%2c%22hello%20%22%5d%3bwindow"+ "%5b_0xc5b2%5b0%5d%5d%3dfunction%20%28%29%7balert%28_0xc5b2%5b1%5d+username"+ "%29%3b%7d%20%3b")); 3つのコードスニペットはすべてまったく同じことを行いますが、最初のコードを読むだけで、その意図を簡単に理解できます。どうやら、avgはjavascriptコードの実行を許可する前にその目的を理解しようとします。コードが難読化されると、avgはおそらく失敗します。したがって警告です。とはいえ、一部のwebサイトはjavascriptを難読化して、邪悪な意図のためではなく、作業を盗むことを困難にしています。難読化は、この目的で使用しても通常は役に立ちませんが、要点は必ずしも意図が悪意であるとは限らないということです。