Att bli av med "vk.com/away.php" eller följa länkar från en frisk person

Genom att klicka på länkarna som publicerats på VKontakte kommer du att märka att, precis som i andra sociala nätverk, först sker en övergång till en "säker" länk, varefter det sociala nätverket bestämmer om användaren ska tillåtas ytterligare eller inte. De flesta uppmärksamma människor lade märke till att "vk.com/away.php" visades på en halv sekund i webbläsarens adressfält, men lade naturligtvis ingen vikt vid det.

Att bli av med "vk.com/away.php" eller följa länkar från en frisk person

förhistoria

En dag insåg en viss programmerare, efter att ha avslutat ett annat projekt, att han var besatt av önskan att berätta för alla om det. Projektet hölls på en server med unik IP, men utan domännamn. Därför skapades snabbt en vacker underdomän på tredje nivå i .ddns.net-domänen, som i slutändan användes som en länk. 

När han återvände till inlägget efter ett tag upptäckte programmeraren att istället för webbplatsen öppnades en VK-stubb som informerade om övergången till en osäker webbplats:

Att bli av med "vk.com/away.php" eller följa länkar från en frisk person

Det verkar som att smarta användare själva har rätt att bestämma vilken sida de ska gå till och vilken inte, men VKontakte tycker annorlunda och ger ingen möjlighet att följa länken utan kryckor.

Vad är fel

Denna implementering har flera betydande nackdelar:

  • Oförmåga att öppna en misstänkt webbplats. Som nämnts ovan har användaren inget sätt att övervinna stubben. Det enda sättet att öppna länken är att kopiera och klistra in den i adressfältet.
  • Saktar ner länknavigeringen. Omdirigeringshastigheten beror på ping. Följaktligen, med en hög ping, kan dyrbara sekunder av livet gå förlorade, vilket, som vi vet, inte är acceptabelt.
  • Övergångsövervakning. Denna metod gör det enklare att samla in information om användaråtgärder, vilket naturligtvis är vad VK använder, och lägger till id:t för posten från vilken övergången gjordes till den säkra länken.

Frigör Django

Den optimala lösningen på alla ovanstående problem kan vara en webbläsartillägg. Av förklarliga skäl faller valet på Chrome. Det finns en utmärkt sådan på navet artikel En artikel dedikerad till att skriva tillägg för Chrome.

För att skapa ett sådant tillägg måste vi skapa två filer i en separat mapp: en json-manifest och en JavaScript-fil för att övervaka den aktuella url-adressen.

Skapa en manifestfil

Det viktigaste vi behöver är att ge tillägget behörighet att arbeta med flikar och tilldela ett kö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"
  }
}

Skapa en js-fil

Allt är enkelt här: i händelsen som anropas när en ny flik skapas, lägger vi till en kontroll för url-adressen om den börjar med "vk.com/away.php", ersätt den sedan med den korrekta, som finns i GET-förfrågan:

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 förlängningen

Efter att ha sett till att båda filerna finns i samma mapp öppnar du Chrome, väljer tilläggsfliken och klickar på "Ladda upp opackat tillägg". I fönstret som öppnas väljer du mappen för den skrivna utökade filen och klickar på Samla. Redo! Nu är alla länkar som vk.com/away ersatta med de ursprungliga.

I stället för en slutsats

Naturligtvis har den här typen av stubb räddat många människor från miljontals bedrägliga sajter, dock tror jag att människor själva har rätt att bestämma om de ska klicka på en osäker länk eller inte.
För enkelhetens skull lade jag upp projektet på github.

Källa: will.com

Lägg en kommentar