Να απαλλαγείτε από το "vk.com/away.php" ή να ακολουθήσετε συνδέσμους από ένα υγιές άτομο

Κάνοντας κλικ στους συνδέσμους που δημοσιεύονται στο VKontakte, θα παρατηρήσετε ότι, όπως και σε άλλα κοινωνικά δίκτυα, πρώτα γίνεται μια μετάβαση σε έναν "ασφαλή" σύνδεσμο, μετά τον οποίο το κοινωνικό δίκτυο αποφασίζει εάν ο χρήστης θα πρέπει να επιτραπεί περαιτέρω ή όχι. Οι πιο προσεκτικοί άνθρωποι παρατήρησαν την εμφάνιση μισού δευτερολέπτου του "vk.com/away.php" στη γραμμή διευθύνσεων του προγράμματος περιήγησης, αλλά, φυσικά, δεν έδωσαν καμία σημασία σε αυτό.

Να απαλλαγείτε από το "vk.com/away.php" ή να ακολουθήσετε συνδέσμους από ένα υγιές άτομο

Ιστορικό

Μια μέρα, ένας προγραμματιστής, έχοντας ολοκληρώσει ένα άλλο έργο, συνειδητοποίησε ότι είχε εμμονή με την επιθυμία να το πει σε όλους. Το έργο φιλοξενήθηκε σε διακομιστή με μοναδική IP, αλλά χωρίς όνομα τομέα. Επομένως, γρήγορα δημιουργήθηκε ένας όμορφος υποτομέας τρίτου επιπέδου στον τομέα .ddns.net, ο οποίος τελικά χρησιμοποιήθηκε ως σύνδεσμος. 

Επιστρέφοντας στη δημοσίευση μετά από λίγο, ο προγραμματιστής ανακάλυψε ότι αντί για τον ιστότοπο, άνοιγε ένα στέλεχος VK, το οποίο ενημέρωνε για τη μετάβαση σε έναν μη ασφαλή ιστότοπο:

Να απαλλαγείτε από το "vk.com/away.php" ή να ακολουθήσετε συνδέσμους από ένα υγιές άτομο

Φαίνεται ότι οι ίδιοι οι έξυπνοι χρήστες έχουν το δικαίωμα να αποφασίσουν σε ποιον ιστότοπο πρέπει να πάνε και σε ποιον όχι, αλλά το VKontakte σκέφτεται διαφορετικά και δεν παρέχει καμία ευκαιρία να ακολουθήσουν τον σύνδεσμο χωρίς δεκανίκια.

Τι τρέχει

Αυτή η εφαρμογή έχει πολλά σημαντικά μειονεκτήματα:

  • Αδυναμία ανοίγματος ύποπτου ιστότοπου. Όπως αναφέρθηκε παραπάνω, ο χρήστης δεν έχει τρόπο να ξεπεράσει το στέλεχος. Ο μόνος τρόπος για να ανοίξετε τον σύνδεσμο είναι να τον αντιγράψετε και να τον επικολλήσετε στη γραμμή διευθύνσεων.
  • Επιβραδύνει την πλοήγηση συνδέσμων. Η ταχύτητα ανακατεύθυνσης εξαρτάται από το ping. Αντίστοιχα, με υψηλό ping, μπορεί να χαθούν πολύτιμα δευτερόλεπτα ζωής, κάτι που, όπως γνωρίζουμε, δεν είναι αποδεκτό.
  • Παρακολούθηση μετάβασης. Αυτή η μέθοδος διευκολύνει τη συλλογή πληροφοριών σχετικά με τις ενέργειες των χρηστών, τις οποίες, φυσικά, χρησιμοποιεί η VK, προσθέτοντας στον ασφαλή σύνδεσμο το αναγνωριστικό της ανάρτησης από την οποία έγινε η μετάβαση.

Απελευθερώνοντας τον Django

Η βέλτιστη λύση σε όλα τα παραπάνω προβλήματα μπορεί να είναι μια επέκταση προγράμματος περιήγησης. Για ευνόητους λόγους, η επιλογή πέφτει στον Chrome. Υπάρχει ένα εξαιρετικό στο κέντρο άρθρο Ένα άρθρο αφιερωμένο στη σύνταξη επεκτάσεων για το Chrome.

Για να δημιουργήσουμε μια τέτοια επέκταση, θα χρειαστεί να δημιουργήσουμε δύο αρχεία σε έναν ξεχωριστό φάκελο: ένα json-Manifest και ένα αρχείο JavaScript για την παρακολούθηση της τρέχουσας διεύθυνσης url.

Δημιουργήστε ένα αρχείο Manifest

Το κύριο πράγμα που χρειαζόμαστε είναι να δώσουμε στην επέκταση άδεια να λειτουργεί με καρτέλες και να εκχωρήσει ένα εκτελέσιμο σενάριο:

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

Δημιουργήστε ένα αρχείο js

Όλα είναι απλά εδώ: στην περίπτωση που καλείται όταν δημιουργηθεί μια νέα καρτέλα, προσθέτουμε έναν έλεγχο για τη διεύθυνση url εάν ξεκινά με "vk.com/away.php", στη συνέχεια αντικαταστήστε το με το σωστό, το οποίο βρίσκεται στο αίτημα 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});
		}
	});
});

Συναρμολόγηση της επέκτασης

Αφού βεβαιωθείτε ότι και τα δύο αρχεία βρίσκονται στον ίδιο φάκελο, ανοίξτε το Chrome, επιλέξτε την καρτέλα επέκτασης και κάντε κλικ στο «Φόρτωση μη συσκευασμένης επέκτασης». Στο παράθυρο που ανοίγει, επιλέξτε το φάκελο του γραμμένου εκτεταμένου αρχείου και κάντε κλικ στο Collect. Ετοιμος! Τώρα όλοι οι σύνδεσμοι όπως το vk.com/away έχουν αντικατασταθεί με τους αρχικούς.

Αντί για ένα συμπέρασμα

Φυσικά, αυτού του είδους το στέλεχος έχει σώσει πολλούς ανθρώπους από εκατομμύρια δόλιες τοποθεσίες, ωστόσο, πιστεύω ότι οι ίδιοι οι άνθρωποι έχουν το δικαίωμα να αποφασίσουν εάν θα κάνουν κλικ σε έναν μη ασφαλή σύνδεσμο ή όχι.
Για ευκολία, δημοσίευσα το έργο στο GitHub.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο