Bli av med "vk.com/away.php" eller navigera via lÀnkar av en frisk mÀnniska

NÀr man följer lÀnkar som publiceras pÄ Vkontakte kan man mÀrka att, precis som pÄ andra sociala medier, sker först en omdirigering till en "sÀker" lÀnk, varefter sociala nÀtverket beslutar om anvÀndaren ska fÄ fortsÀtta eller inte. De flesta uppmÀrksamma anvÀndare har noterat en halvsekunds fördröjning av "vk.com/away.php" i webblÀsarens adressfÀlt, men sjÀlvklart har de inte lagt nÄgon vikt vid det.

Bli av med "vk.com/away.php" eller navigera via lÀnkar av en frisk mÀnniska

Bakgrund

En gÄng, en programmerare, efter att ha slutfört ett projekt, insÄg att han var besatt av att berÀtta om det för alla. Projektet var placerat pÄ en server med en unik IP-adress, men utan domÀnnamn. DÀrför skapades hastigt en snygg tredje nivÄ underdomÀn i .ddns.net-domenet, som slutligen anvÀndes som lÀnk. 

NÀr programmeraren ÄtervÀnde till inlÀgget efter en tid, upptÀckte han att istÀllet för webbplatsen öppnades en Vkontakte-splash som informerade om att man var pÄ vÀg till en osÀker webbplats:

Bli av med "vk.com/away.php" eller navigera via lÀnkar av en frisk mÀnniska

Det borde stÄ klart att kloka anvÀndare sjÀlva bör fÄ bestÀmma vilken webbplats de vill besöka och vilken de inte vill, men Vkontakte tycker annorlunda och erbjuder ingen möjlighet utan avgörande för att gÄ till lÀnken.

Vad Àr fel

Denna implementering har flera betydande nackdelar:

  • Ingen möjlighet att öppna en misstĂ€nkt webbplats. Som nĂ€mnts tidigare har anvĂ€ndaren ingen möjlighet att övervinna splashen. Det enda sĂ€ttet att öppna lĂ€nken Ă€r att kopiera den och klistra in den i adressfĂ€ltet.
  • Fördröjer omdirigeringen av lĂ€nken. Hastigheten pĂ„ omdirigeringen beror pĂ„ ping. SĂ„ledes kan vĂ€rdefulla sekunder gĂ„ förlorade vid hög ping, vilket, som vi vet, Ă€r oacceptabelt.
  • Övervakning av klick. Denna metod underlĂ€ttar insamlingen av information om anvĂ€ndarens aktiviteter, nĂ„got som sĂ„klart Vkontakte utnyttjar genom att lĂ€gga till ID:t för inlĂ€gget som lĂ€nken kom ifrĂ„n till den sĂ€kra lĂ€nken.

Frigör Django

En optimal lösning pÄ alla ovan nÀmnda problem kan vara en webblÀsartillÀgg. Av uppenbara skÀl faller valet pÄ Chrome. Det finns en utmÀrkt artikel pÄ Habr som handlar om att skriva tillÀgg för Chrome. artikeln För att skapa ett sÄdant tillÀgg behöver vi skapa tvÄ filer i en separat mapp: en json-manifestfil och en JavaScript-fil för att övervaka den aktuella URL-adressen.

Skapa manifestfilen

Det viktigaste vi behöver göra Àr att ge tillÀgget behörighet att arbeta med flikar och tilldela ett körbart skript:

ГлаĐČĐœĐŸĐ” Ń‡Ń‚ĐŸ ĐœĐ°ĐŒ ĐœŃƒĐ¶ĐœĐŸ — Юать Ń€Đ°ŃŃˆĐžŃ€Đ”ĐœĐžŃŽ Ń€Đ°Đ·Ń€Đ”ŃˆĐ”ĐœĐžĐ” ĐœĐ° Ń€Đ°Đ±ĐŸŃ‚Ńƒ с ĐČĐșлаЎĐșĐ°ĐŒĐž Đž ĐœĐ°Đ·ĐœĐ°Ń‡ĐžŃ‚ŃŒ ĐžŃĐżĐŸĐ»ĐœŃĐ”ĐŒŃ‹Đč сĐșропт:

{
  "manifest_version": 2,
  "name": "Fly frÄn vk.com/away",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": ["tabs"],
  "browser_action": {
    "default_title": "Fly frÄn vk.com/away"
  }
}

Skapar en js-fil

HÀr Àr det enkelt: i hÀndelsen som utlöses vid skapandet av en ny flik lÀgger vi till en kontroll av url-adressen, om den börjar med "vk.com/away.php", ersÀtter vi den med rÀtt url 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});
		}
	});
});

Samlar utvidgningen

Efter att ha kontrollerat att bÄda filerna ligger i samma mapp, öppnar vi Chrome, vÀljer fliken för tillÀgg och klickar pÄ "Ladda upp ett packat tillÀgg". I det öppna fönstret vÀljer vi mappen för den skrivna utvidgningen och klickar pÄ samla. Klar! Nu ersÀtts alla lÀnkar av typen vk.com/away med de ursprungliga.

Avslutande

SjÀlvklart har denna typ av blockerare rÀddat mÄnga frÄn miljontals bedrÀgliga webbplatser, men jag anser att mÀnniskor sjÀlva har rÀtt att bestÀmma om de vill klicka pÄ en osÀker lÀnk eller inte.
För enkelhetens skull har jag lagt upp projektet pÄ github.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster