Otklanjanje “vk.com/away.php” ili praćenje linkova od zdrave osobe

Klikom na linkove objavljene na VKontakteu, primijetit ćete da, kao i na drugim društvenim mrežama, prvo dolazi do prijelaza na „sigurnu“ vezu, nakon čega društvena mreža odlučuje da li korisniku treba dozvoliti dalje ili ne. Najpažljiviji ljudi su primetili pojavljivanje „vk.com/away.php” u pola sekunde u adresnoj traci pretraživača, ali, naravno, nisu pridavali nikakav značaj tome.

Otklanjanje “vk.com/away.php” ili praćenje linkova od zdrave osobe

prapovijest

Jednog dana, određeni programer, nakon što je završio još jedan projekat, shvatio je da je opsjednut željom da svima ispriča o tome. Projekat je bio hostovan na serveru sa jedinstvenom IP-om, ali bez imena domena. Stoga je prekrasna poddomena trećeg nivoa brzo stvorena u .ddns.net domeni, koja je na kraju korištena kao veza. 

Vrativši se na post nakon nekog vremena, programer je otkrio da se umjesto stranice otvara VK stub, koji obavještava o prelasku na nesigurnu stranicu:

Otklanjanje “vk.com/away.php” ili praćenje linkova od zdrave osobe

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

Sta nije u redu

Ova implementacija ima nekoliko značajnih nedostataka:

  • Nemogućnost otvaranja sumnjive stranice. Kao što je gore navedeno, korisnik nema načina da prevaziđe stub. Jedini način da otvorite vezu je da je kopirate i zalijepite u adresnu traku.
  • Usporava navigaciju linkom. Brzina preusmjeravanja ovisi o pingu. Shodno tome, sa visokim pingom mogu se izgubiti dragocjene sekunde života, što, kao što znamo, nije prihvatljivo.
  • Praćenje tranzicije. Ova metoda olakšava prikupljanje informacija o radnjama korisnika, što, naravno, koristi VK, dodajući na zaštićenu vezu ID objave iz koje je napravljen prijelaz.

Oslobađanje Djanga

Optimalno rješenje za sve gore navedene probleme može biti proširenje pretraživača. Iz očiglednih razloga, izbor pada na Chrome. Ima jedan odličan na čvorištu članak Članak posvećen pisanju ekstenzija za Chrome.

Da bismo kreirali takvu ekstenziju, moraćemo da kreiramo dva fajla u zasebnoj fascikli: json-Manifest i JavaScript fajl za praćenje trenutne URL adrese.

Kreirajte 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"
  }
}

Kreirajte js fajl

Ovdje je sve jednostavno: u slučaju koji se zove kada se kreira nova kartica, dodajemo provjeru url adrese ako počinje sa “vk.com/away.php", a 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 proširenja

Nakon što se uvjerite da su obje datoteke u istoj mapi, otvorite Chrome, odaberite karticu ekstenzije i kliknite na "Učitaj raspakiranu ekstenziju". U prozoru koji se otvori odaberite fasciklu napisane proširene datoteke i kliknite na Prikupi. Spremni! Sada su svi linkovi poput vk.com/away zamijenjeni originalnim.

Umjesto zaključka

Naravno, ova vrsta stubića je spasila mnoge ljude od miliona 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 projekat na GitHub.

izvor: www.habr.com

Dodajte komentar