Scăpăm de „vk.com/away.php” sau de navigarea pe linkurile unei persoane sănătoase

Accesând linkurile plasate pe Vkontakte, se poate observa că, la fel ca în celelalte rețele sociale, întâi are loc o redirecționare către un link „sigur”, după care rețeaua socială decide dacă să permită utilizatorului să continue sau nu. Majoritatea oamenilor atenți au observat apariția în adresă a „vk.com/away.php” timp de o jumătate de secundă, dar, desigur, nu i-au dat importanță.

Scăpăm de „vk.com/away.php” sau de navigarea pe linkurile unei persoane sănătoase

Povestea

Odată, un programator, terminând un nou proiect, a realizat că are o obsesie să spună tuturor despre el. Proiectul era găzduit pe un server cu un IP unic, dar fără nume de domeniu. Așadar, pe repede înainte, a fost creat un subdomeniu frumos de al treilea nivel în domeniul .ddns.net, care în cele din urmă a fost folosit ca link. 

Revenind după un timp la postare, programatorul a descoperit că în loc de site se deschide o pagină de eroare Vkontakte, informând despre redirecționarea către un site nesigur:

Scăpăm de „vk.com/away.php” sau de navigarea pe linkurile unei persoane sănătoase

Se părea că utilizatorii inteligenți ar trebui să aibă dreptul de a decide singuri pe ce site să acceseze și pe care nu, însă Vkontakte gândește diferit și nu oferă nicio opțiune, fără soluții improvizate, de a accesa linkul.

Ce nu este în regulă

Această implementare are câteva dezavantaje semnificative:

  • Lipsa posibilității de a deschide un site suspect. Așa cum s-a menționat anterior, utilizatorul nu are posibilitatea de a depăși pagina de eroare. Singurul mod de a deschide linkul este să-l copieze și să-l lipească în bara adreselor.
  • Încetinește accesul la link. Viteza de redirecționare depinde de ping. Prin urmare, la un ping mare, pot dispărea secunde prețioase din viață, ceea ce, așa cum știm, nu este acceptabil.
  • Monitorizarea accesărilor. Această metodă facilitează colectarea de informații despre acțiunile utilizatorilor, cu care, bineînțeles, profită Vkontakte, adăugând la linkul sigur ID-ul postării din care a fost făcută redirecționarea.

Eliberăm Django

Soluția optimă pentru toate problemele enumerate mai sus ar putea fi o extensie pentru browser. Din motive evidente, alegerea cade pe Chrome. Pe Habr există un articol excelent articol dedicat scrierii extensiilor pentru Chrome.

Pentru a crea o astfel de extensie, va trebui să creăm în dosare separate două fișiere: manifest.json și un fișier JavaScript pentru monitorizarea adresei URL curente.

Creăm fișierul Manifest

Cel mai important lucru de care avem nevoie este să dăm extensiei permisiunea de a lucra cu tab-urile și să desemnăm scriptul executabil:

{
  "manifest_version": 2,
  "name": "Fugiți de vk.com/away",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": ["tabs"],
  "browser_action": {
    "default_title": "Fugiți de vk.com/away"
  }
}

Creăm un fișier js

Aici este simplu: în evenimentul declanșat la crearea unei noi tab-uri, adăugăm o verificare pentru adresa url, dacă aceasta începe cu „vk.com/away.php”, atunci o înlocuim cu cea corectă, care se află în cererea 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});
		}
	});
});

Construim extensia

Asigurându-ne că ambele fișiere se află în aceeași folder, deschidem Chrome, alegem tab-ul extensiilor și apăsăm „Încărcați extensia dezarhivată”. În fereastra deschisă, alegem folderul extensie scrisă și apăsăm construiți. Gata! Acum toate link-urile de tip vk.com/away sunt înlocuite cu cele originale.

În concluzie

Desigur, acest tip de redirecționări a salvat multe persoane de milioane de site-uri frauduloase, totuși, cred că oamenii ar trebui să decidă singuri dacă vor accesa link-uri nesigure sau nu.
Pentru comoditate, am plasat proiectul pe github.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster