Afkomen van «vk.com/away.php» of doorgaan naar links van een gezond persoon

Bij het volgen van links die op Vkontakte zijn geplaatst, kan men opmerken dat, net als bij andere sociale netwerken, er eerst een overgang plaatsvindt naar een «veilige» link, waarna het sociale netwerk beslist of de gebruiker verder moet worden doorverwezen. De meeste oplettende mensen hebben een halve seconde de verschijning van «vk.com/away.php» in de adresbalk van hun browser opgemerkt, maar gaven er natuurlijk geen verdere aandacht aan.

Afkomen van «vk.com/away.php» of doorgaan naar links van een gezond persoon

Achtergrond

Op een dag, na het afronden van een project, realiseerde een programmeur zich dat hij de drang had om er aan iedereen over te vertellen. Het project werd gehost op een server met een uniek IP, maar zonder domeinnaam. Daarom werd er snel een mooie subdomein van de derde niveau gemaakt in het .ddns.net domein, wat uiteindelijk werd gebruikt als link. 

Toen hij na enige tijd terugkeerde naar de post, ontdekte de programmeur dat in plaats van de website een Vkontakte-blokkade werd geopend, die informeerde over de overgang naar een onveilige site:

Afkomen van «vk.com/away.php» of doorgaan naar links van een gezond persoon

Het lijkt erop dat slimme gebruikers zelf zouden moeten kunnen bepalen naar welke site zij willen gaan en naar welke niet, maar Vkontakte denkt daar anders over en biedt geen enkele mogelijkheid om zonder omwegen naar de link te gaan.

Wat is er verkeerd

Deze implementatie heeft verschillende aanzienlijke nadelen:

  • Geen mogelijkheid om een verdachte site te openen. Zoals eerder vermeld, heeft de gebruiker geen mogelijkheid om de blokkade te omzeilen. De enige manier om de link te openen is door deze te kopiëren en in de adresbalk te plakken.
  • Vertraagt de overgang naar de link. De snelheid van doorverwijzing hangt af van de ping. Bij een hoge ping kunnen er kostbare seconden verloren gaan, wat, zoals we weten, onacceptabel is.
  • Monitoring van doorgangen. Deze methode vergemakkelijkt het verzamelen van informatie over gebruikersacties, waar Vkontakte uiteraard gebruik van maakt door het id van de post waarvandaan de toegang is verkregen aan de veilige link toe te voegen.

Bevrijd Django

Een optimale oplossing voor al deze hierboven genoemde problemen kan een browserextensie zijn. Om voor de hand liggende redenen valt de keuze op Chrome. Op Habr is er een uitstekende artikel artikel gewijd aan het schrijven van extensies voor Chrome.

Voor het creëren van zo'n extensie moeten we twee bestanden in een aparte map aanmaken: een json-Manifest en een JavaScript-bestand voor het monitoren van het huidige URL-adres.

We maken een Manifest bestand aan

Het belangrijkste wat we nodig hebben, is de extensie toestemming geven om met tabbladen te werken en een uitvoeringsscript aan te wijzen:

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

Laten we een js-bestand aanmaken

Hier is het eenvoudig: bij de gebeurtenis die wordt getriggerd bij het maken van een nieuw tabblad, voegen we een controle toe op het url-adres, als deze begint met "vk.com/away.php", dan vervangen we het door de juiste, welke in de GET-aanroep staat:

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

We bouwen de extensie

Zorg ervoor dat beide bestanden in dezelfde map staan, open Chrome, kies het tabblad Extensies en klik op 'Ongecomprimeerde extensie laden'. In het geopende venster kiezen we de map van de geschreven extensie en klikken we op bouwen. Klaar! Nu worden alle links van het type vk.com/away vervangen door de originele.

Ter afsluiting

Natuurlijk heeft dit soort omleidingen veel mensen geholpen om miljoenen oplichtingssites te vermijden, maar ik geloof dat mensen zelf moeten beslissen of ze op een onveilige link willen klikken of niet.
Voor uw gemak heb ik het project geplaatst op github.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster