Neden tıklamıyoruz tam olarak ne yapıyor?
Reklam gösteren sitelerin en sık başvurduğu yöntem senden bildirim gösterme izni istemesidir.
Bilinen tüm tarayıcılar bildirim gösterebilir; ama Chrome'un bildirim sistemine daha hakim olduğumdan onun üzerinden anlatacağım.
Firefox'ta mekanizma biraz farklı olsa da en nihayetinde ortaya çıkan sonuç aynıdır.
Normalde Chrome'un bildirim sistemi, takip etmek istediğiniz sitelere girmeden, o sitelerden haberdar olmanı sağlar.
Mesela bir senin Gmail hesabına mail attığı zaman, bunu bildirim olarak görebilirsin.
Bildirimler şu şekilde gösteriliyor:
chrome.notifications.create(notificationId?: string, options: NotificationOptions, callback?: function): void;
Yukarıda bahsetmiş olduğum örnek, bildirim sisteminin iyi niyetli kullanımı.
Reklam göstermek isteyen siteler ise tarayıcının köşesinde reklamlı bildirim gösterir.
Bu durumun iki tane can sıkıcı tarafı var:
1. Bildirim almak için siteyi açmak zorunda değilsin. Bu ne demek? Siteyi kapatsan bile reklam göreceksin demek.
2. Reklam engelleyici eklentiler bu tarz reklamlara müdahale edemiyor.
Bu tarz zararlı sitelerin kullandığı bir başka yöntem ise backend'de JavaScript kodu çalıştırmak. Site sahibi JavaScript kullanarak, senin bilgisayarının/telefonunun donanımını sömürmek suretiyle kripto para madenciliği yapabilir.
Normal şartlarda tarayıcılar, sitelerin bilgisayarına erişmesine izin vermez. Yani yukarıda yazdığım madencilik işini yapmak biraz zor iş.
Tarayıcının bu engelini aşmak için de JavaScript Framework'lerinden yararlanılır.
Şahsen ben JavaScript kullanarak birisinin bilgisayarını sömürmek istesem Node.JS kullanırdım.
Ya da daha basit bir yöntem olarak da kullanıcıyı kandırıp, ona eklenti yükletirdim. Kullanıcı, "Native Messaging" API'sini kullanan bir eklentinin kurulumuna izin verdiği an, işlem tamamdır.
Mesela popüler indirme uygulaması IDM, bu yöntemle çalışır. Videonun köşesinde beliren "Bu video dosyasını indir"e bastığın an, o esnada IDM kapalı olsa bile açılabilir.
Çok uzun yazdım sanırım, umarım faydalı olmuştur. ?