Bli kvitt "vk.com/away.php" eller følge lenker fra en sunn person

Ved å klikke på lenkene som er lagt ut på VKontakte, vil du legge merke til at, som i andre sosiale nettverk, først er det en overgang til en "sikker" lenke, hvoretter det sosiale nettverket bestemmer om brukeren skal tillates videre eller ikke. De fleste oppmerksomme folk la merke til at "vk.com/away.php" ble vist på et halvt sekund i adressefeltet til nettleseren, men la selvfølgelig ingen vekt på det.

Bli kvitt "vk.com/away.php" eller følge lenker fra en sunn person

forhistorie

En dag innså en viss programmerer, etter å ha fullført et annet prosjekt, at han var besatt av ønsket om å fortelle alle om det. Prosjektet ble hostet på en server med unik IP, men uten domenenavn. Derfor ble det raskt opprettet et vakkert underdomene på tredje nivå i .ddns.net-domenet, som til slutt ble brukt som en lenke. 

Da han kom tilbake til innlegget etter en stund, oppdaget programmereren at i stedet for nettstedet åpnet en VK-stubb som informerte om overgangen til et usikkert nettsted:

Bli kvitt "vk.com/away.php" eller følge lenker fra en sunn person

Det ser ut til at smarte brukere selv har rett til å bestemme hvilken side de skal gå til og ikke, men VKontakte tenker annerledes og gir ingen mulighet til å følge lenken uten krykker.

Hva er galt

Denne implementeringen har flere betydelige ulemper:

  • Manglende evne til å åpne et mistenkelig nettsted. Som nevnt ovenfor har brukeren ingen mulighet til å overvinne stubben. Den eneste måten å åpne koblingen på er å kopiere og lime den inn i adressefeltet.
  • Senker koblingsnavigasjonen. Omdirigeringshastigheten avhenger av ping. Følgelig, med en høy ping, kan dyrebare sekunder av livet gå tapt, noe som, som vi vet, ikke er akseptabelt.
  • Overvåking av overgang. Denne metoden gjør det lettere å samle informasjon om brukerhandlinger, som selvfølgelig er det VK bruker, og legger til den sikre lenken med ID-en til innlegget som overgangen ble gjort fra.

Frigjør Django

Den optimale løsningen på alle problemene ovenfor kan være en nettleserutvidelse. Av åpenbare grunner faller valget på Chrome. Det er en utmerket en på navet artikkel En artikkel dedikert til å skrive utvidelser for Chrome.

For å lage en slik utvidelse, må vi opprette to filer i en separat mappe: en json-manifest og en JavaScript-fil for å overvåke gjeldende url-adresse.

Opprett en manifestfil

Det viktigste vi trenger er å gi utvidelsen tillatelse til å jobbe med faner og tilordne et kjørbart 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"
  }
}

Lag en js-fil

Alt er enkelt her: i tilfelle kalt når en ny fane opprettes, legger vi til en sjekk for url-adressen hvis den starter med "vk.com/away.php", og erstatt den med den riktige, som er i GET-forespørselen:

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

Montering av utvidelsen

Etter å ha forsikret deg om at begge filene er i samme mappe, åpne Chrome, velg utvidelsesfanen og klikk på «Last inn utpakket utvidelse». I vinduet som åpnes velger du mappen til den skrevne utvidede filen og klikker på Samle. Klar! Nå er alle lenker som vk.com/away erstattet med de originale.

I stedet for en konklusjon

Selvfølgelig har denne typen stubber reddet mange mennesker fra millioner av svindelsider, men jeg tror at folk selv har rett til å bestemme om de skal klikke på en usikker lenke eller ikke.
For enkelhets skyld la jeg ut prosjektet på GitHub.

Kilde: www.habr.com

Legg til en kommentar