Zbavenie sa „vk.com/away.php“ alebo sledovanie odkazov od zdravého človeka

Kliknutím na odkazy zverejnené na VKontakte si všimnete, že rovnako ako v iných sociálnych sieťach, najprv dôjde k prechodu na „bezpečný“ odkaz, po ktorom sa sociálna sieť rozhodne, či má byť používateľovi povolený ďalší prístup alebo nie. Väčšina pozorných ľudí si všimla polsekundový výskyt „vk.com/away.php“ v paneli s adresou prehliadača, ale samozrejme tomu nepripisovali žiadnu dôležitosť.

Zbavenie sa „vk.com/away.php“ alebo sledovanie odkazov od zdravého človeka

pravek

Jedného dňa si istý programátor po dokončení ďalšieho projektu uvedomil, že je posadnutý túžbou povedať o tom všetkým. Projekt bol hosťovaný na serveri s jedinečnou IP, ale bez názvu domény. Preto sa v doméne .ddns.net rýchlo vytvorila krásna subdoména tretej úrovne, ktorá bola nakoniec použitá ako odkaz. 

Keď sa programátor po chvíli vrátil k príspevku, zistil, že namiesto stránky sa otvára útržok VK, ktorý informuje o prechode na nebezpečnú stránku:

Zbavenie sa „vk.com/away.php“ alebo sledovanie odkazov od zdravého človeka

Zdá sa, že samotní inteligentní používatelia majú právo rozhodnúť, na ktorú stránku by mali ísť a na ktorú nie, ale VKontakte si myslí inak a neposkytuje žiadnu možnosť sledovať odkaz bez bariel.

Čo je zle

Táto implementácia má niekoľko významných nevýhod:

  • Neschopnosť otvoriť podozrivú stránku. Ako je uvedené vyššie, používateľ nemá ako prekonať pahýľ. Jediný spôsob, ako otvoriť odkaz, je skopírovať ho a vložiť do panela s adresou.
  • Spomaľuje navigáciu odkazom. Rýchlosť presmerovania závisí od pingu. V súlade s tým sa pri vysokom pingu môžu stratiť vzácne sekundy života, čo, ako vieme, nie je prijateľné.
  • Monitorovanie prechodu. Táto metóda uľahčuje zhromažďovanie informácií o akciách používateľov, čo, samozrejme, používa VK, pričom k zabezpečenému odkazu pridáva ID príspevku, z ktorého bol prechod vykonaný.

Oslobodenie Djanga

Optimálnym riešením všetkých vyššie uvedených problémov môže byť rozšírenie prehliadača. Z pochopiteľných dôvodov padne voľba na Chrome. Na náboji je jeden výborný článok Článok venovaný písaniu rozšírení pre Chrome.

Na vytvorenie takéhoto rozšírenia budeme musieť vytvoriť dva súbory v samostatnom priečinku: json-Manifest a súbor JavaScript na sledovanie aktuálnej adresy URL.

Vytvorte súbor Manifest

Hlavná vec, ktorú potrebujeme, je udeliť rozšíreniu povolenie pracovať s kartami a priradiť spustiteľný skript:

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

Vytvorte súbor js

Všetko je tu jednoduché: v prípade volanej udalosti pri vytvorení novej karty pridáme kontrolu adresy URL, ak začína reťazcom „vk.com/away.php“, potom ho nahraďte správnym, ktorý je v požiadavke GET:

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});
		}
	});
});

Zostavenie predĺženia

Keď sa ubezpečíte, že oba súbory sú v rovnakom priečinku, otvorte prehliadač Chrome, vyberte kartu rozšírenia a kliknite na „Načítať rozbalené rozšírenie“. V okne, ktoré sa otvorí, vyberte priečinok zapísaného rozšíreného súboru a kliknite na tlačidlo Zhromažďovať. Pripravený! Teraz sú všetky odkazy ako vk.com/away nahradené pôvodnými.

namiesto záveru

Samozrejme, že tento typ útržkov zachránil veľa ľudí pred miliónmi podvodných stránok, verím však, že ľudia sami majú právo rozhodnúť sa, či kliknú na nebezpečný odkaz alebo nie.
Pre pohodlie som projekt zverejnil na GitHub.

Zdroj: hab.com

Pridať komentár