Livrando-se do "vk.com/away.php" ou acessando links de forma correta

Ao clicar nos links postados no VKontakte, pode-se notar que, assim como em outras redes sociais, inicialmente ocorre um redirecionamento para um link 'seguro', após o qual a rede social decide se deve ou não permitir que o usuário continue. A maioria das pessoas atentas percebeu a breve aparição de 'vk.com/away.php' na barra de endereços do navegador, mas, claro, não atribuiu a isso muita importância.

Livrando-se do "vk.com/away.php" ou acessando links de forma correta

Antecedentes

Certa vez, um programador, ao finalizar mais um projeto, percebeu que estava obcecado pelo desejo de compartilhá-lo com todos. O projeto estava hospedado em um servidor com um IP único, mas sem nome de domínio. Por isso, em um impulso, foi criado um subdomínio atraente de terceiro nível no domínio .ddns.net, que acabou sendo utilizado como link. 

Ao retornar algum tempo depois ao post, o programador descobriu que, em vez de abrir o site, era exibida uma página de aviso do VK informando sobre a tentativa de acesso a um site não seguro:

Livrando-se do "vk.com/away.php" ou acessando links de forma correta

Parece que os usuários inteligentes deveriam ter a liberdade de decidir quais sites visitar ou não, no entanto, o VKontakte pensa de forma diferente e não oferece nenhuma possibilidade de acessar o link sem artifícios.

O que há de errado

Essa implementação apresenta várias desvantagens significativas:

  • Incapacidade de acessar um site suspeito. Como mencionado anteriormente, o usuário não pode ignorar a página de aviso. A única maneira de abrir o link é copiá-lo e colá-lo na barra de endereços.
  • Atraso ao acessar o link. A velocidade de redirecionamento depende do ping. Assim, em caso de alto ping, preciosos segundos podem ser perdidos, o que, como sabemos, é inaceitável.
  • Monitoramento de acessos. Esse método facilita a coleta de informações sobre as ações dos usuários, o que naturalmente é explorado pelo VK, adicionando ao link seguro o id do post de onde foi feito o acesso.

Liberando Django

Uma solução ideal para todos os problemas mencionados acima pode ser uma extensão para o navegador. Por razões óbvias, a escolha recai sobre o Chrome. No Habr, há um excelente artigo artigo dedicado à escrita de extensões para Chrome.

Para criar tal extensão, precisamos fazer dois arquivos em uma pasta separada: um Manifesto em json e um arquivo JavaScript para monitorar a URL atual.

Criando o arquivo Manifesto

A principal coisa que precisamos fazer é dar permissão à extensão para trabalhar com guias e designar o script executável:

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

Criando um arquivo js

Aqui é simples: no evento chamado ao criar uma nova aba, adicionamos uma verificação para o endereço url, se começa com "vk.com/away.php", então o substituímos pelo correto, que está na solicitação 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});
		}
	});
});

Construindo a extensão

Certificando-se de que ambos os arquivos estão na mesma pasta, abra o Chrome, vá para a aba de extensões e clique em "Carregar extensão descompactada". Na janela que se abre, escolha a pasta da extensão escrita e clique em construir. Pronto! Agora todos os links do tipo vk.com/away são substituídos pelos originais.

Em conclusão

Claro, esse tipo de bloqueio salvou muitas pessoas de milhões de sites fraudulentos, no entanto, eu acredito que as pessoas têm o direito de decidir se querem ou não clicar em um link não seguro.
Para sua conveniência, coloquei o projeto em github.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster