No passado, alguns webmasters modestos configuraram entradas DNS para resolver seus nomes de domínio em 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 em nosso endereço IP. Ambos os nomes de domínio não autorizados foram registrados para o mesmo indivíduo. Tenho motivos adicionais para suspeitar que foi um ardil intencional para fins nefastos. Meu site é bem conhecido site de aplicação da lei pública.
Não sei ao certo quais são as intenções do autor. Pode ser para obter classificação no mecanismo de pesquisa, estacionando seu domínio no meu endereço IP. Ou pode envolver algum script entre sites ou tentativa de invasão de segurança IFrame / javascript / flash. O ponto principal foi que ele apontou dois nomes de domínio diferentes em momentos diferentes, para o endereço do meu servidor da web.
Ambos os nomes de domínio dele foram registrados no GoDaddy, então eu contatei seus amigos de abuso para relatar que seus servidores DNS estavam sendo usados para uma prática questionável.
No início, adicionei código à minha página inicial para responder com um erro 404 - Não encontrado, se o HTTP_HOST na URL fosse o nome de domínio dos outros caras. Fiz isso porque pensei que era seu erro. Mas, depois de saber que o mesmo indivíduo apontou outro nome de domínio para o nosso endereço IP, 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. Então, criei um novo site no IIS que NÃO usava cabeçalhos de host e o rotulei como "Nomes de Domínio Invictos". Quaisquer nomes de domínio resolvidos no meu servidor da Web que correspondam a um dos meus cabeçalhos de host explicitamente definidos encontrariam o caminho para o 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 de Nomes de Domínio Invictos. E a página inicial padrão desse site de Nomes de Domínio Não Identificado contém um script para enviar uma resposta "301 - Movido permanentemente", redirecionando a solicitação para Google.com.
Decidi que, se a intenção era envenenar os resultados dos mecanismos de pesquisa ou roubar classificações, o Google poderia ser o lugar para enviar seu tráfego e, assim, ganhar seu site com as aranhas do Google.
Um benefício adicional da criação de um site para capturar nomes de domínio desconhecidos definidos para serem resolvidos em nosso endereço IP é que agora posso registrar a atividade e ver com que frequência ela ocorre. Também facilita o teste do site do que inserir 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 thos usando ASP clássico ...
Exemplo 1. Rejeição de 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 de 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
%>