Alguns webmasters incompletos configuraram no passado entradas de DNS para resolver seus nomes de domínio para o nosso endereço IP. Não foi um erro, porque quando implementamos contramedidas para um nome de domínio específico, um novo nome de domínio começou a ser resolvido para o nosso endereço IP. Ambos os nomes de domínio desonestos foram registrados para o mesmo indivíduo. Tenho mais motivos para suspeitar que se tratava de um artifício intencional para fins nefastos. Meu site é bem conhecido do setor público de aplicação da lei.
Não sei quais são as intenções do criminoso. Pode ser para ganhar rank do motor de busca estacionando seu domínio no meu endereço IP. Ou pode envolver alguns scripts entre sites ou tentativa de invasão de segurança IFrame / javascript / flash. A linha inferior era que ele apontou dois nomes de domínio diferentes em momentos diferentes, para o endereço do meu servidor da Web.
Ambos os seus nomes de domínio foram registrados no GoDaddy, então eu contatei seus foks de abuso para informar que seus servidores DNS estavam sendo usados para uma prática questionável.
No início, adicionei o código à minha home page para responder com um erro 404 - Não encontrado se o HTTP_HOST no URL fosse o nome de domínio do outro pessoal. Eu fiz isso porque achei que foi o erro dele. Mas depois de saber que o mesmo indivíduo posteriormente apontou outro nome de domínio em nosso endereço IP, eu tive que encontrar uma solução melhor.
A melhor solução ... Veja o exemplo 2 para o script.
Configurei o Microsoft IIS para usar cabeçalhos de host explícitos para nossos nomes de domínio válidos. Em seguida, criei um novo site no IIS que NÃO usava cabeçalhos de host e o rotulava como "Nomes de Domínio Rogue". Qualquer nome de domínio que resolva para o meu servidor da Web que corresponda a um dos meus cabeçalhos de host explicitamente definidos será encontrado no conteúdo correto. Mas qualquer nome de domínio NÃO definido em uma configuração de cabeçalho de host, vai para o site Nomes de Domínio Rogue. E a página inicial padrão para o site de Nomes de Domínio Rogue contém um script para enviar uma resposta "301 - movido permanentemente", redirecionando a solicitação para o Google.com.
Eu decidi que, se a intenção era envenenar os resultados dos mecanismos de busca ou roubar rankings, o Google poderia ser o lugar para enviar seu tráfego e, assim, ganhar o seu site de má vontade das aranhas do Google.
Um benefício adicional de configurar um site para capturar nomes de domínio desconhecidos para resolver nosso endereço IP é que agora posso registrar atividades e ver com que frequência isso acontece. Isso também torna o teste do site mais fácil do que inserir o código em páginas individuais para verificar nomes de domínio válidos e redirecionar quando necessário.
Aqui um snipit de código para isso usando ASP clássico ...
Exemplo 1. Rejeição do nome de domínio no nível da página
Insira este código em uma página inicial do ASP para rejeitar nomes de domínio desconhecidos
If instr(1, UCase(Request.ServerVariables("HTTP_HOST")), "OURSITE.COM") < 1 Then
Response.Status = "404 Not Found"
Response.Write(response.Status)
Response.End
End If
Exemplo 2 - rejeição do nome de domínio no nível do IIS
<%@ Language="VBScript" CodePage=65001%>
<% option explicit%>
<%
'
' Some fraudulent webmasters have in the past set up DNS entries to resolve their domain names to our IP address.
' This file is a counter measure to prevent other domain names from resolving to our site.
' The intent of the fraud may be to gain search engine ranking status for their domain name by pointing it to a
' well known site. Or there could be more going on such as cross-site scripting attacks...
' By using IIS host headers, we explicitly resolve domain names. Any host headers that are not defined in IIS
' land on the Rogue Domain names website which servies up a 301 - Moved Permanently page that redirects to Google.
'--------------------------------------------------------------------------------------------------------------------
Response.Buffer = True
If instr(1, UCase(Request.ServerVariables("HTTP_HOST")), "OURSITE.COM") < 1 Then
Response.Status = "301 Moved Permanently"
Response.AddHeader "location", "http://www.google.com/"
Response.End
End If
%>