Antworten:
Die Verschleierung ist ein Mittel, um die wahre Bedeutung und Absicht Ihres Javascript-Codes "zu verschleiern". Einige Websites verwenden es als Hindernis für Personen, die ihren Code kopieren / ausleihen möchten. Andere Websites verwenden es als Mittel, um die tatsächliche Absicht des Codes zu verbergen.
Einige Formen der Verdunkelung:
Die Verschleierung ist an sich nicht böse, kann aber verwendet werden, um eine böse Absicht zu verbergen, und das hat AVG wahrscheinlich beanstandet. Es wurde so viel Dunkelheit entdeckt, dass es nicht erkennen konnte, ob das Javascript versuchte, etwas zu tun, das es zu verhindern versuchte. Daher wurde der Code standardmäßig als unsicher deklariert, da nicht überprüft werden kann, ob der Code in Ordnung zu sein scheint.
1
und 2
werden auch von Javascript-Kompressoren durchgeführt. Kompressoren verschleiern den Code als Nebeneffekt, aber das ist nicht ihr Hauptzweck; Ihr Hauptzweck ist es, das Javascript zu verkleinern, um die Bandbreite zu reduzieren.
Verschleierung bedeutet, die beabsichtigte Bedeutung von etwas zu verbergen.
In diesem Fall ein gut lesbares JavaScript-Snippet, wie z
window.onload = function() { alert("Hello " + username) };
kann durch ersetzt werden
var _0xc5b2=["\x6F\x6E\x6C\x6F\x61\x64",
"\x48\x65\x6C\x6C\x6F\x20"];window[_0xc5b2[0]]=
function (){alert(_0xc5b2[1]+username);} ;
oder auch
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"));
Alle drei Code-Schnipsel machen genau dasselbe, aber nur das Lesen des ersten ermöglicht es Ihnen, seine Absichten leicht zu verstehen.
Anscheinend versucht AVG, den Zweck von JavaScript-Code zu verstehen, bevor die Ausführung zugelassen wird. Wenn der Code verschleiert ist, schlägt AVG wahrscheinlich fehl. Daher die Warnung.
Allerdings verschleiern einige Websites ihr JavaScript nicht aus bösen Absichten, sondern um es schwierig zu machen, ihre Arbeit zu stehlen. Verschleierung ist normalerweise nutzlos, wenn sie für diesen Zweck verwendet wird, aber der Punkt ist, dass Verschleierung nicht unbedingt schlechte Absichten bedeutet.