Dans le passé, certains webmasters sommaires ont configuré des entrées DNS pour résoudre leurs noms de domaine en notre adresse IP. Ce n'était pas une erreur, car lorsque nous avons mis en œuvre des contre-mesures pour un nom de domaine spécifique, un nouveau nom de domaine a commencé à se résoudre à notre adresse IP. Ces deux noms de domaine voyous ont été enregistrés auprès de la même personne. J'ai une raison supplémentaire de soupçonner qu'il s'agissait d'une ruse intentionnelle à des fins néfastes. Mon site est un site bien connu d'application de la loi.
Je ne sais pas quelles sont les intentions de l'agresseur. Cela peut être pour gagner le rang des moteurs de recherche en stationnant son domaine sur mon adresse IP. Ou cela peut impliquer des scripts intersites ou une tentative de piratage de sécurité IFrame / javascript / flash. L'essentiel était qu'il pointait deux noms de domaine différents à des moments différents, vers l'adresse de mon serveur Web.
Ses deux noms de domaine étaient enregistrés auprès de GoDaddy, j'ai donc contacé leurs foks d'abus pour signaler que leurs serveurs DNS étaient utilisés pour une pratique douteuse.
Au début, j'ai ajouté du code à ma page d'accueil pour répondre avec une erreur 404 - Introuvable si le HTTP_HOST dans l'URL était le nom de domaine des autres gars. Je l'ai fait parce que je pensais que c'était son erreur. Mais après avoir appris que la même personne a par la suite pointé un autre nom de domaine vers notre adresse IP, j'ai dû trouver une meilleure solution.
La meilleure solution ... Voir l'exemple 2 pour le script.
J'ai configuré Microsoft IIS pour utiliser des en-têtes d'hôtes explicites pour nos noms de domaine valides. Ensuite, j'ai créé un nouveau site Web dans IIS qui n'utilisait PAS d'en-têtes d'hôte et je l'ai étiqueté "Noms de domaine escrocs". Tout nom de domaine résolu sur mon serveur Web qui correspond à l'un de mes en-têtes d'hôtes explicitement définis trouverait son chemin vers le contenu correct. Mais tout nom de domaine NON défini dans un paramètre d'en-tête d'hôte, va au site Rogue Domain Names. Et la page d'accueil par défaut de ce site Rogue Domain Names contient un script pour envoyer une réponse "301 - Moved Permanently", redirigeant la demande vers Google.com.
J'ai décidé que si l'intention était d'empoisonner les résultats des moteurs de recherche ou de voler des classements, Google pourrait être l'endroit idéal pour envoyer son trafic, et donc gagner la mauvaise volonté de son site auprès des araignées de Google.
Un avantage supplémentaire de la mise en place d'un site Web pour capturer les noms de domaine inconnus définis pour résoudre à notre adresse IP, est que je peux maintenant enregistrer l'activité et voir à quelle fréquence cela se produit. Il facilite également les tests de site que l'insertion de code dans des pages individuelles pour vérifier les noms de domaine valides et rediriger si nécessaire.
Voici un extrait de code pour ceux qui utilisent l'ASP classique ...
Exemple 1. Rejet de nom de domaine au niveau de la page
Insérez ce code dans une page d'accueil ASP pour rejeter les noms de domaine inconnus
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
Exemple 2 - Rejet de nom de domaine de niveau 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
%>