Zbavení se „vk.com/away.php“ nebo sledování odkazů od zdravého člověka

Kliknutím na odkazy zveřejněné na VKontakte si všimnete, že stejně jako v jiných sociálních sítích nejprve dojde k přechodu na „bezpečný“ odkaz, po kterém se sociální síť rozhodne, zda má být uživateli povoleno nebo ne. Většina pozorných lidí si všimla půlsekundového výskytu „vk.com/away.php“ v adresním řádku prohlížeče, ale samozřejmě tomu nepřikládali žádný význam.

Zbavení se „vk.com/away.php“ nebo sledování odkazů od zdravého člověka

pravěk

Jednoho dne si jistý programátor po dokončení dalšího projektu uvědomil, že je posedlý touhou o tom všem říct. Projekt byl hostován na serveru s jedinečnou IP, ale bez názvu domény. V doméně .ddns.net se proto rychle vytvořila krásná subdoména třetí úrovně, která byla nakonec použita jako odkaz. 

Když se programátor po chvíli vrátil k příspěvku, zjistil, že místo webu se otevírá útržek VK informující o přechodu na nebezpečný web:

Zbavení se „vk.com/away.php“ nebo sledování odkazů od zdravého člověka

Zdá se, že sami chytří uživatelé mají právo rozhodnout, na kterou stránku by měli jít a na kterou ne, ale VKontakte myslí jinak a neposkytuje žádnou příležitost sledovat odkaz bez berliček.

Co je špatně

Tato implementace má několik významných nevýhod:

  • Neschopnost otevřít podezřelou stránku. Jak je uvedeno výše, uživatel nemá žádný způsob, jak útržek překonat. Jediný způsob, jak otevřít odkaz, je zkopírovat a vložit jej do adresního řádku.
  • Zpomaluje navigaci odkazem. Rychlost přesměrování závisí na pingu. V souladu s tím, s vysokým pingem, může dojít ke ztrátě drahocenných sekund života, což, jak víme, není přijatelné.
  • Sledování přechodu. Tato metoda usnadňuje shromažďování informací o uživatelských akcích, což VK samozřejmě používá, přičemž k zabezpečenému odkazu přidává id příspěvku, ze kterého byl přechod proveden.

Osvobození Djanga

Optimálním řešením všech výše uvedených problémů může být rozšíření prohlížeče. Z pochopitelných důvodů padá volba na Chrome. Na hubu je jeden výborný článek Článek věnovaný psaní rozšíření pro Chrome.

K vytvoření takového rozšíření budeme muset vytvořit dva soubory v samostatné složce: json-Manifest a soubor JavaScript pro sledování aktuální url adresy.

Vytvořte soubor Manifest

Hlavní věc, kterou potřebujeme, je udělit rozšíření oprávnění pracovat s kartami a přiřadit spustitelný 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"
  }
}

Vytvořte soubor js

Zde je vše jednoduché: v případě zavolání při vytvoření nové karty přidáme kontrolu adresy URL, pokud začíná „vk.com/away.php“, poté jej nahraďte správným, který je v požadavku 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});
		}
	});
});

Montáž nástavce

Poté, co se ujistěte, že jsou oba soubory ve stejné složce, otevřete Chrome, vyberte kartu rozšíření a klikněte na „Načíst rozbalené rozšíření“. V okně, které se otevře, vyberte složku zapsaného rozšířeného souboru a klikněte na Shromáždit. Připraveno! Nyní jsou všechny odkazy jako vk.com/away nahrazeny původními.

Místo závěru

Tento typ útržku samozřejmě zachránil mnoho lidí před miliony podvodných stránek, nicméně věřím, že lidé sami mají právo se rozhodnout, zda kliknou na nebezpečný odkaz nebo ne.
Pro usnadnění jsem projekt zveřejnil na GitHub.

Zdroj: www.habr.com

Přidat komentář