Befreien wir uns von „vk.com/away.php“ oder dem Klick auf Links eines gesunden Menschen

Wenn man den Links folgt, die in VKontakte platziert sind, kann man feststellen, dass, wie in anderen sozialen Netzwerken, zunächst ein Wechsel zu einem "sicheren" Link erfolgt, nach dem die soziale Plattform entscheidet: ob der Nutzer weitergeleitet werden soll oder nicht. Die meisten aufmerksamen Menschen haben das halbe Sekündchen, in dem "vk.com/away.php" in der Adressleiste des Browsers erscheint, bemerkt, jedoch haben sie dem natürlich keine Bedeutung beigemessen.

Befreien wir uns von „vk.com/away.php“ oder dem Klick auf Links eines gesunden Menschen

Vorgeschichte

Eines Tages erkannte ein Programmierer, nachdem er ein Projekt abgeschlossen hatte, dass er von dem Wunsch besessen war, allen davon zu erzählen. Das Projekt war auf einem Server mit einer einzigartigen IP ohne Domainname gehostet. Daher wurde hastig ein schöner Subdomain der dritten Ebene in der Domain .ddns.net erstellt, die schließlich als Link verwendet wurde. 

Als der Programmierer nach einiger Zeit zu dem Beitrag zurückkehrte, bemerkte er, dass statt der Website ein Banner von VK geöffnet wurde, der darüber informierte, dass er auf eine unsichere Website weitergeleitet wird:

Befreien wir uns von „vk.com/away.php“ oder dem Klick auf Links eines gesunden Menschen

Es scheint, dass kluge Nutzer selbst entscheiden sollten, auf welche Website sie gehen und auf welche nicht, allerdings denkt VKontakte anders und bietet keine Möglichkeit, ohne Umwege den Link zu öffnen.

Was ist das Problem

Diese Umsetzung hat mehrere erhebliche Nachteile:

  • Die Möglichkeit, eine verdächtige Website zu öffnen, fehlt. Wie bereits erwähnt, hat der Nutzer keine Möglichkeit, das Banner zu überwinden. Der einzige Weg, um den Link zu öffnen, besteht darin, ihn zu kopieren und in die Adresszeile einzufügen.
  • Verlangsamt den Zugriff auf den Link. Die Geschwindigkeit der Weiterleitung hängt von der Ping-Zeit ab. Bei hohem Ping können kostbare Sekunden des Lebens verloren gehen, was, wie wir wissen, nicht zulässig ist.
  • Überwachung der Übergänge. Diese Methode erleichtert die Sammlung von Informationen über die Aktivitäten der Nutzer, was VK natürlich ausnutzt, indem es der sicheren URL die ID des Beitrags hinzufügt, von dem die Weiterleitung erfolgt ist.

Befreie Django

Eine optimale Lösung für all die oben genannten Probleme könnte eine Erweiterung für den Browser sein. Aus offensichtlichen Gründen fällt die Wahl auf Chrome. Auf Habr gibt es einen ausgezeichneten Artikel Artikel über das Schreiben von Erweiterungen für Chrome.

Um eine solche Erweiterung zu erstellen, benötigen wir zwei Dateien in einem separaten Ordner: ein JSON-Manifest und eine JavaScript-Datei zur Überwachung der aktuellen URL.

Erstellen der Manifest-Datei

Das Wichtigste, was wir benötigen, ist, der Erweiterung die Berechtigung zu erteilen, mit Tabs zu arbeiten, und das ausführbare Skript zuzuweisen:

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

Erstellen einer js-Datei

Hier ist alles einfach: Bei dem Ereignis, das beim Erstellen eines neuen Tabs ausgelöst wird, fügen wir eine Überprüfung der URL hinzu, wenn sie mit „vk.com/away.php“ beginnt, ersetzen wir sie durch die korrekte, die in der GET-Anfrage enthalten ist:

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

Das Erweiterungspaket erstellen

Nachdem wir sichergestellt haben, dass beide Dateien im selben Ordner liegen, öffnen wir Chrome, wählen die Registerkarte Erweiterungen und klicken auf „Entpackte Erweiterung laden“. Im sich öffnenden Fenster wählen wir den Ordner mit der geschriebenen Erweiterung aus und klicken auf Erstellen. Fertig! Jetzt werden alle Links der Art vk.com/away durch die ursprünglichen ersetzt.

Zum Abschluss

Natürlich hat dieser Typ von Platzhaltern vielen Menschen vor Millionen von betrügerischen Websites geholfen, jedoch denke ich, dass die Menschen selbst entscheiden sollten, ob sie auf einen unsicheren Link klicken oder nicht.
Zur Vereinfachung habe ich das Projekt auf github.

Quelle: habr.com

60GB SSD 8Gb DDR4