Riješiti se "vk.com/away.php" ili slijediti veze zdrave osobe

Klikom na poveznice objavljene na VKontakte, primijetit ćete da, kao iu drugim društvenim mrežama, prvo postoji prijelaz na "sigurnu" vezu, nakon čega društvena mreža odlučuje hoće li korisnik biti dopušten dalje ili ne. Najpažljiviji ljudi primijetili su pojavu "vk.com/away.php" u adresnoj traci preglednika za pola sekunde, ali, naravno, nisu tome pridavali nikakvu važnost.

Riješiti se "vk.com/away.php" ili slijediti veze zdrave osobe

prapovijest

Jednog dana, određeni programer, nakon što je završio još jedan projekt, shvatio je da je opsjednut željom da svima ispriča o tome. Projekt je bio smješten na poslužitelju s jedinstvenim IP-om, ali bez naziva domene. Stoga je vrlo brzo stvorena prekrasna poddomena treće razine u domeni .ddns.net, koja je u konačnici iskorištena kao poveznica. 

Vraćajući se na objavu nakon nekog vremena, programer je otkrio da se umjesto stranice otvara VK stubić koji obavještava o prijelazu na nesigurnu stranicu:

Riješiti se "vk.com/away.php" ili slijediti veze zdrave osobe

Čini se da pametni korisnici sami imaju pravo odlučiti na koju će stranicu ići, a na koju ne, ali VKontakte misli drugačije i ne pruža nikakvu priliku za praćenje veze bez štaka.

Što nije u redu

Ova implementacija ima nekoliko značajnih nedostataka:

  • Nemogućnost otvaranja sumnjivog mjesta. Kao što je gore navedeno, korisnik nema načina da prevlada zastoj. Jedini način da otvorite vezu je da je kopirate i zalijepite u adresnu traku.
  • Usporava navigaciju vezom. Brzina preusmjeravanja ovisi o pingu. Sukladno tome, s visokim pingom mogu se izgubiti dragocjene sekunde života, što, kao što znamo, nije prihvatljivo.
  • Praćenje prijelaza. Ova metoda olakšava prikupljanje informacija o radnjama korisnika, što, naravno, koristi VK, dodajući sigurnoj vezi ID posta iz kojeg je izvršen prijelaz.

Oslobađanje Djanga

Optimalno rješenje za sve gore navedene probleme može biti proširenje preglednika. Iz očitih razloga, izbor pada na Chrome. Na čvorištu je odličan članak Članak posvećen pisanju proširenja za Chrome.

Da bismo stvorili takvo proširenje, morat ćemo stvoriti dvije datoteke u zasebnoj mapi: json-Manifest i JavaScript datoteku za praćenje trenutne url adrese.

Stvorite datoteku manifesta

Glavna stvar koju trebamo je dati proširenju dozvolu za rad s karticama i dodijeliti izvršnu skriptu:

{
  "manifest_version": 2,
  "name": "Run Away From vk.com/away",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": ["tabs"],
  "browser_action": {
    "default_title": "Run Away From vk.com/away"
  }
}

Stvorite js datoteku

Ovdje je sve jednostavno: u događaj koji se poziva kada se kreira nova kartica, dodajemo provjeru url adrese ako počinje s "vk.com/away.php", zatim ga zamijenite ispravnim, koji se nalazi u GET zahtjevu:

chrome.tabs.onCreated.addListener( function (tabId, changeInfo, tab) {
	chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
		var url = tabs[0].url;
		if (url.substr(0,23) == "https://vk.com/away.php"){
			var last = url.indexOf("&", 0)
			if(last == -1)last = 1000;
			var url = decodeURIComponent(url.substr(27, last-27));
			chrome.tabs.update({url: url});
		}
	});
});

Sastavljanje nastavka

Nakon što provjerite nalaze li se obje datoteke u istoj mapi, otvorite Chrome, odaberite karticu proširenja i kliknite "Učitaj raspakirano proširenje". U prozoru koji se otvori odaberite mapu napisane proširene datoteke i kliknite Prikupi. Spreman! Sada su sve veze poput vk.com/away zamijenjene izvornim.

Umjesto zaključka

Naravno, ova vrsta stubića spasila je mnoge ljude od milijuna lažnih stranica, međutim, vjerujem da ljudi sami imaju pravo odlučiti hoće li kliknuti na nesigurnu vezu ili ne.
Radi praktičnosti, objavio sam projekt na Github.

Izvor: www.habr.com

Dodajte komentar