Eliminare «vk.com/away.php» o il passaggio tramite i link di una persona sana

Cliccando sui link pubblicati su Vkontakte, è possibile notare che, come in altri social network, inizialmente si fa riferimento a un link 'sicuro', dopo di che il social network decide se consentire all'utente di procedere o meno. La maggior parte delle persone attente ha notato un'apparizione di mezzo secondo di «vk.com/away.php» nella barra degli indirizzi del browser, ma naturalmente non ci ha dato importanza.

Eliminare «vk.com/away.php» o il passaggio tramite i link di una persona sana

Contesto

Una volta, un certo programmatore, completato un progetto, si rese conto di essere ossessionato dal desiderio di raccontarlo a tutti. Il progetto era ospitato su un server con un IP unico, ma senza nome di dominio. Pertanto, fu creato in fretta un bel sottodominio di terzo livello nel dominio .ddns.net, che alla fine venne utilizzato come link. 

Tornando qualche tempo dopo al post, il programmatore scoprì che al posto del sito si apriva una pagina di avviso di VK, informando che si stava passando a un sito non sicuro:

Eliminare «vk.com/away.php» o il passaggio tramite i link di una persona sana

Sembra che gli utenti intelligenti abbiano il diritto di scegliere a quale sito accedere e quale no, tuttavia Vkontakte la pensa diversamente e non offre alcuna possibilità, senza stratagemmi, di accedere al link.

Cosa c'è che non va

Questa implementazione presenta diversi svantaggi significativi:

  • Manca la possibilità di aprire un sito sospetto. Come detto in precedenza, l'utente non ha la possibilità di superare il blocco. L'unico modo per aprire il link è copiare e incollare nella barra degli indirizzi.
  • Ritarda il passaggio al link. La velocità di reindirizzamento dipende dal ping. Di conseguenza, con un ping elevato, possono perdersi preziosi secondi di vita, cosa che, come sappiamo, è inaccettabile.
  • Monitoraggio degli accessi. Questo metodo facilita la raccolta di informazioni sulle azioni degli utenti, che ovviamente Vk sfrutta, aggiungendo al link sicuro l'ID del post da cui è avvenuto il passaggio.

Liberiamo Django

La soluzione ottimale a tutti i problemi sopra elencati potrebbe essere un'estensione per il browser. Per ovvi motivi, la scelta ricade su Chrome. Su Habr c'è un ottimo articolo articolo dedicato alla scrittura di estensioni per Chrome.

Per creare un'estensione come questa, avremo bisogno di creare due file in una cartella separata: un json-Manifest e un file JavaScript per monitorare l'URL corrente.

Creiamo il file Manifest

La cosa principale di cui abbiamo bisogno è consentire all'estensione di lavorare con le schede e assegnare lo script eseguibile:

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

Creiamo il file js

Qui è tutto semplice: nell'evento attivato dalla creazione di una nuova scheda, aggiungiamo un controllo per l'URL, se inizia con «vk.com/away.php», allora lo sostituiamo con quello corretto presente nella richiesta 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});
		}
	});
});

Creiamo l'estensione

Assicurati che entrambi i file siano nella stessa cartella, apri Chrome, seleziona la scheda Estensioni e fai clic su "Carica estensione non compressa". Nella finestra aperta, seleziona la cartella dell'estensione scritta e fai clic su Raccogli. Fatto! Ora tutti i link del tipo vk.com/away vengono sostituiti con gli originali.

In conclusion

Certo, questo tipo di blocchi ha salvato molte persone da milioni di siti fraudolenti, tuttavia, credo che le persone abbiano il diritto di decidere se accettare o meno un link non sicuro.
Per comodità, ho posizionato il progetto su github.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster