Atsikratyti „vk.com/away.php“ arba sekti sveiko žmogaus nuorodas

Spustelėję „VKontakte“ paskelbtas nuorodas, pastebėsite, kad, kaip ir kituose socialiniuose tinkluose, pirmiausia pereinama prie „saugios“ nuorodos, po kurios socialinis tinklas nusprendžia, ar vartotoją reikia leisti toliau, ar ne. Dauguma dėmesingų žmonių pastebėjo pusę sekundės „vk.com/away.php“ atsiradimą naršyklės adreso juostoje, tačiau, žinoma, neteikė tam jokios reikšmės.

Atsikratyti „vk.com/away.php“ arba sekti sveiko žmogaus nuorodas

priešistorė

Vieną dieną tam tikras programuotojas, baigęs kitą projektą, suprato, kad yra apsėstas noro visiems apie tai papasakoti. Projektas buvo talpinamas serveryje su unikaliu IP, bet be domeno vardo. Todėl domene .ddns.net greitai buvo sukurtas gražus trečiojo lygio padomenis, kuris galiausiai buvo panaudotas kaip nuoroda. 

Po kurio laiko grįžęs prie įrašo, programuotojas aptiko, kad vietoj svetainės atsidaro VK šlaunikaulis, informuojantis apie perėjimą į nesaugią svetainę:

Atsikratyti „vk.com/away.php“ arba sekti sveiko žmogaus nuorodas

Atrodytų, patys protingi vartotojai turi teisę nuspręsti, į kurią svetainę eiti, o į kurią ne, tačiau „VKontakte“ mano kitaip ir nesuteikia jokios galimybės sekti nuorodą be ramentų.

Kas negerai

Šis įgyvendinimas turi keletą reikšmingų trūkumų:

  • Nesugebėjimas atidaryti įtartinos svetainės. Kaip minėta pirmiau, vartotojas neturi jokio būdo įveikti trūkumą. Vienintelis būdas atidaryti nuorodą – nukopijuoti ir įklijuoti ją į adreso juostą.
  • Lėtina nuorodų naršymą. Peradresavimo greitis priklauso nuo ping. Atitinkamai, su dideliu ping gali būti prarastos brangios gyvenimo sekundės, o tai, kaip žinome, nepriimtina.
  • Perėjimo stebėjimas. Šis metodas leidžia lengviau rinkti informaciją apie vartotojo veiksmus, kuriuos, žinoma, naudoja VK, pridėdamas prie saugios nuorodos įrašo, iš kurio buvo atliktas perėjimas, ID.

Išlaisvina Django

Optimalus visų minėtų problemų sprendimas gali būti naršyklės plėtinys. Dėl akivaizdžių priežasčių pasirinkimas tenka Chrome. Ant stebulės yra puikus straipsnis Straipsnis, skirtas „Chrome“ plėtiniams rašyti.

Norėdami sukurti tokį plėtinį, turėsime sukurti du failus atskirame aplanke: json-Manifest ir JavaScript failą, kad galėtume stebėti dabartinį URL adresą.

Sukurkite manifesto failą

Svarbiausias dalykas, kurio mums reikia, yra suteikti plėtiniui leidimą dirbti su skirtukais ir priskirti vykdomąjį scenarijų:

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

Sukurkite js failą

Čia viskas paprasta: įvykyje, kuris iškviečiamas, kai sukuriamas naujas skirtukas, pridedame URL adreso patikrinimą, jei jis prasideda "vk.com/away.php“, tada pakeiskite jį teisingu, kuris yra GET užklausoje:

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

Prailginimo surinkimas

Įsitikinę, kad abu failai yra tame pačiame aplanke, atidarykite „Chrome“, pasirinkite plėtinio skirtuką ir spustelėkite „Įkelti neišpakuotą plėtinį“. Atsidariusiame lange pasirinkite parašyto išplėstinio failo aplanką ir spustelėkite Surinkti. Pasiruošę! Dabar visos nuorodos, tokios kaip vk.com/away, yra pakeistos originaliomis.

Vietoj išvados

Žinoma, toks stuburo tipas išgelbėjo daugybę žmonių nuo milijonų nesąžiningų svetainių, tačiau manau, kad žmonės patys turi teisę nuspręsti, ar spustelėti nesaugią nuorodą, ar ne.
Kad būtų patogiau, paskelbiau projektą GitHub.

Šaltinis: www.habr.com

Добавить комментарий