Einige skizzenhafte Webmaster haben in der Vergangenheit DNS-Einträge eingerichtet, um ihre Domain-Namen in unsere IP-Adresse aufzulösen. Es war kein Fehler, denn als wir Gegenmaßnahmen für einen bestimmten Domainnamen implementierten, wurde ein neuer Domainname in unsere IP-Adresse aufgelöst. Diese beiden betrügerischen Domainnamen wurden bei derselben Person registriert. Ich habe zusätzlichen Grund zu der Annahme, dass es sich um eine absichtliche List für schändliche Zwecke handelte. Meine Website ist eine bekannte Website für öffentliche Strafverfolgungsbehörden.
Ich bin mir nicht sicher, was die Absichten des Täters sind. Es kann sein, dass Sie den Rang einer Suchmaschine erreichen, indem Sie seine Domain auf meiner IP-Adresse parken. Oder es handelt sich um Cross-Site-Scripting oder einen Hack-Versuch mit IFrame / Javascript / Flash-Sicherheit. Das Fazit war, dass er zwei verschiedene Domainnamen zu unterschiedlichen Zeiten auf die Adresse meines Webservers zeigte.
Beide seiner Domain-Namen waren bei GoDaddy registriert, daher habe ich ihre Missbrauchs-Foks kontaktiert, um zu melden, dass ihre DNS-Server für eine fragwürdige Praxis verwendet werden.
Zuerst habe ich meiner Homepage Code hinzugefügt, um mit einem 404 - Not Found-Fehler zu antworten, wenn der HTTP_HOST in der URL der Domainname des anderen war. Ich habe das getan, weil ich dachte, es sei sein Fehler. Nachdem ich jedoch erfahren hatte, dass dieselbe Person später einen anderen Domainnamen auf unsere IP-Adresse zeigte, musste ich eine bessere Lösung finden.
Die bessere Lösung ... Siehe Beispiel 2 für das Skript.
Ich habe Microsoft IIS so konfiguriert, dass explizite Host-Header für unsere gültigen Domänennamen verwendet werden. Dann habe ich eine neue Website in IIS erstellt, die KEINE Host-Header verwendet, und sie als "Rogue Domain Names" bezeichnet. Alle auf meinem Webserver aufgelösten Domain-Namen, die mit einem meiner explizit definierten Host-Header übereinstimmen, finden den Weg zum richtigen Inhalt. Jeder Domain-Name, der NICHT in einer Host-Header-Einstellung definiert ist, wird an die Site Rogue Domain Names gesendet. Die Standardhomepage für diese Rogue Domain Names-Site enthält ein Skript zum Senden einer Antwort "301 - dauerhaft verschoben", mit der die Anforderung an Google.com umgeleitet wird.
Ich entschied, dass Google der Ort sein könnte, an dem Suchmaschinenergebnisse vergiftet oder Rankings gestohlen werden könnten, um seinen Traffic zu senden und damit seinen Website-Unwillen von Google-Spinnen zu verdienen.
Ein zusätzlicher Vorteil der Einrichtung einer Website zum Abfangen unbekannter Domainnamen, die auf unsere IP-Adresse aufgelöst werden sollen, besteht darin, dass ich jetzt Aktivitäten protokollieren und sehen kann, wie oft dies geschieht. Außerdem ist das Testen von Websites einfacher als das Einfügen von Code in einzelne Seiten, um nach gültigen Domainnamen zu suchen und bei Bedarf umzuleiten.
Hier ein Code-Snipit für diejenigen mit klassischem ASP ...
Beispiel 1. Ablehnung von Domainnamen auf Seitenebene
Fügen Sie diesen Code in eine ASP-Homepage ein, um unbekannte Domainnamen abzulehnen
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
Beispiel 2 - Ablehnung von Domainnamen auf IIS-Ebene
<%@ 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
%>