Livre-se de "vk.com/away.php" ou siga os links de uma pessoa saudável

Ao clicar nos links publicados no Vkontakte, você notará que, como em outras redes sociais, ocorre primeiro uma transição para um link "seguro", após o qual a rede social decide se deve deixar o usuário ir mais longe ou não. A maioria das pessoas atentas notou uma aparição de meio segundo de "vk.com/away.php" na barra de endereços do navegador, mas, é claro, não deu importância a isso.



Antecedentes


Certa vez, um certo programador, após concluir outro projeto, percebeu que estava obcecado com o desejo de contar a todos sobre isso. O projeto foi hospedado em um servidor com um IP exclusivo, mas sem um nome de domínio. Portanto, com pressa, criei um belo subdomínio de terceiro nível no domínio .ddns.net, que acabou sendo usado como um link.

Depois de retornar à postagem depois de um tempo, o programador descobriu que, em vez do site, um stub VK é aberto, informando sobre a transição para um site não seguro:



Parece que os próprios usuários inteligentes têm o direito de decidir em qual site devem acessar e quais não, mas o Vkontakte pensa de maneira diferente e não oferece nenhuma oportunidade de seguir o link sem muletas.

O que está errado


Esta implementação tem várias desvantagens significativas:

  • A incapacidade de abrir um site suspeito. Como mencionado acima, o usuário não tem como superar o esboço. A única maneira de abrir o link é copiá-lo e colá-lo na barra de endereços.
  • Retarda a velocidade de um link. A velocidade de redirecionamento depende do ping. Consequentemente, com um grande ping, segundos preciosos da vida podem desaparecer, o que, como sabemos, não é permitido.
  • Monitoramento de Conversões. Esse método facilita a coleta de informações sobre ações do usuário, as quais, obviamente, usam VK, adicionando ao link seguro o ID da postagem a partir da qual a transição foi feita.

Django grátis


A melhor solução para todos os problemas acima pode ser uma extensão do navegador. Por razões óbvias, a escolha fica no Chrome. Em um habr, há um excelente artigo, um artigo dedicado a escrever extensões para o Chrome.

Para criar essa extensão, precisamos criar dois arquivos em uma pasta separada: json-Manifest e um arquivo JavaScript para monitorar o URL atual do endereço.

Criar arquivo de manifesto


O principal que precisamos é conceder permissão à extensão para trabalhar com guias e atribuir um script executável:

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

Criar arquivo js


Tudo é simples aqui: no caso de ser chamado ao criar uma nova guia, adicionamos uma verificação do endereço da URL, se ele começar com " vk.com/away.php ", substituí-lo 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}); } }); }); 

Colocando a extensão


Depois de verificar se os dois arquivos estão na mesma pasta, abra o Chrome, selecione a guia da extensão e clique em "Baixar extensão descompactada". Na janela que se abre, selecione a pasta escrita avançada e clique em coletar. Feito! Agora todos os links como vk.com/away são substituídos pelos originais.

Em vez de uma conclusão


É claro que esse tipo de stub salvou muitas pessoas de milhões de sites fraudulentos; no entanto, acredito que as próprias pessoas têm o direito de decidir se desejam ou não acessar um link não seguro.
Por conveniência, postei o projeto no github .

Source: https://habr.com/ru/post/pt453904/


All Articles