Некоторые схематичные веб-мастера в прошлом настраивали записи DNS, чтобы разрешить свои доменные имена в наш IP-адрес. Это не было ошибкой, потому что, когда мы внедрили контрмеры для конкретного доменного имени, новое доменное имя начало преобразовываться в наш IP-адрес. Оба этих мошеннических доменных имени были зарегистрированы одним и тем же лицом. У меня есть дополнительные основания подозревать, что это умышленная уловка для гнусных целей. Мой сайт хорошо известен публичному правоохранительному сайту.
Я не уверен, каковы намерения преступника. Это может быть для получения рейтинга в поисковой системе путем парковки его домена на мой IP-адрес. Или это может быть связано с межсайтовым скриптингом или попыткой взлома IFrame / javascript / flash. Суть в том, что он указывал два разных доменных имени в разное время на адрес моего веб-сервера.
Оба его доменных имени были зарегистрированы в GoDaddy, поэтому я связался с их недобросовестными парнями, чтобы сообщить, что их DNS-серверы используются нами для сомнительной практики.
Сначала я добавил код на свою домашнюю страницу, чтобы ответить сообщением 404 - Not Found, если в URL-адресе HTTP_HOST указано имя домена другого пользователя. Я сделал это, потому что думал, что это была его ошибка. Но узнав, что тот же человек впоследствии указал другое доменное имя на наш IP-адрес, мне пришлось искать лучшее решение.
Лучшее решение ... См. Пример 2 для сценария.
Я настроил Microsoft IIS для использования явных заголовков узлов для наших допустимых доменных имен. Затем я создал новый веб-сайт в IIS, который НЕ использовал заголовки хоста, и пометил его как «Rogue Domain Names». Любые доменные имена, разрешенные для моего веб-сервера, которые соответствуют одному из моих явно определенных заголовков хоста, найдут свой путь к правильному контенту. Но любое доменное имя, НЕ определенное в настройке заголовка узла, переходит на сайт Rogue Domain Names. А домашняя страница по умолчанию для этого сайта Rogue Domain Names содержит скрипт для отправки ответа «301 - перемещено навсегда», перенаправляющего запрос на Google.com.
Я решил, что, если намерение состоит в том, чтобы отравить результаты поисковой системы или украсть рейтинг, Google мог бы быть тем местом, чтобы отправлять его трафик и таким образом зарабатывать недоброжелательность своего сайта от пауков Google.
Дополнительным преимуществом настройки сайта для перехвата неизвестных доменных имен, настроенных на наш IP-адрес, является то, что теперь я могу регистрировать активность и видеть, как часто это происходит. Это также облегчает тестирование сайтов, чем вставку кода на отдельные страницы для проверки правильности доменных имен и перенаправления при необходимости.
Вот фрагмент кода для тех, кто использует классический ASP ...
Пример 1. Отказ от доменного имени на уровне страницы
Вставьте этот код в домашнюю страницу ASP, чтобы отклонить неизвестные доменные имена
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
Пример 2. Отклонение доменного имени на уровне 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
%>