Yanıtlar:
Şaşırtma, javascript kodunuzun gerçek anlamını ve amacını "gizlemenin" bir yoludur. Bazı siteler, kodlarını kopyalamak / ödünç almak isteyen kişilerin önünde engel olarak kullanır. Diğer siteler bunu, kodun gerçek amacını gizlemek için bir araç olarak kullanır.
Bazı gizlilik biçimleri:
Müstehcenlik kendi başına kötü değildir, ama kötü bir niyeti gizlemeye çalışmak için kullanılabilir ve muhtemelen AVG'nin itiraz ettiği şey budur. Javascript'in engellemeye çalıştığı bir şeyi yapmayı denemekte olup olmadığını anlayamayacağı kadar belirsizdi. Bu nedenle, kodun normal göründüğünü doğrulayamadığından kodu varsayılan olarak güvensiz ilan etti.
1
ve 2
ayrıca javascript kompresörleri tarafından yapılır. Kompresörler, kodu yan etki olarak gizler, ancak bu onların ana amacı değildir; temel amacı javascript'i küçültmek, bant genişliğini azaltmaktır.
Şaşırtma, bir şeyin amaçlanan anlamını gizlemek anlamına gelir.
Bu durumda, açıkça okunabilir bir JavaScript pasajı, örneğin
window.onload = function() { alert("Hello " + username) };
ile ikame edilebilir
var _0xc5b2=["\x6F\x6E\x6C\x6F\x61\x64",
"\x48\x65\x6C\x6C\x6F\x20"];window[_0xc5b2[0]]=
function (){alert(_0xc5b2[1]+username);} ;
ya da
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"));
Her üç kod parçacığı da aynı şeyi yapar, ancak yalnızca ilkini okumak niyetini kolayca anlamanıza olanak sağlar.
Görünüşe göre, AVG, yürütülmesine izin vermeden önce JavaScript kodunun amacını anlamaya çalışır. Kod gizlendiğinde, AVG muhtemelen başarısız olur. Dolayısıyla uyarı.
Olduğu söyleniyor, bazı web siteleri JavaScript'i kötü niyetlerden dolayı değil, işlerini çalmayı zorlaştırmaktan alıkoyuyor. Bu amaç için kullanılırsa şaşırtmaca genellikle işe yaramaz, ancak asıl nokta şaşırtmanın mutlaka kötü niyet anlamına gelmediğidir.