Вопрос или проблема
Это довольно странный запрос. По каким-то причинам владелец safeandbuy.com
указал свой домен на мой IP-адрес. Проблема в том, что на мой сайт пытаются зайти всевозможные краулеры с этим доменным именем.
Могу ли я что-то с этим сделать?
Вы можете настроить виртуальный хост на вашем веб-сервере для safeandbuy.com, чтобы перехватывать весь этот трафик, и просто сделать страницу индекса, которая говорит “Я не safeandbuy.com”. Это хотя бы уберет посещения с вашего фактического домена.
Информация whois для safeandbuy.com содержит контактный номер телефона, адрес и электронную почту. Вы можете попробовать связаться с ними и сообщить, что они указывают на неправильный IP.
Хорошо, вот что можно сделать:
Добавьте это в раздел “header” в верхней части вашей страницы индекса:
<base href="http://www.mydomain.com" target="_top"/>
(Поддержка от BillThor, который является очень старшим участником этого сайта)
Сделав это, человек, чей домен указывает на ваш… как только кто-то туда попадает и нажимает на ссылку, его перенаправит на ваши ссылки, поэтому они могут украсть только ссылку на домашнюю страницу и ничего больше).
К сожалению, нет способа остановить таких людей. Все, что вы можете сделать, это перенаправить обратно на ваши ссылки с его домена.
Это еще одно постоянное решение этой настойчивой проблемы.
Это зависит от того, какую серверную программу вы используете, но для apache2 настройки виртуальных хостов находятся в директории ‘/etc/apache2/site-enabled’. В основном, у него есть стандартные виртуальные хосты (‘000-default’), и на данный момент он настроен для сайта mydomain.com. Таким образом, вот мой подход.
-
Скопируйте текущий 000-default в 010-somename. (Пожалуйста, будьте осторожны, 000-default обычно является символической ссылкой, поэтому вам нужно скопировать его из ../site-available/default.)
-
Настройте параметры виртуального хоста в 010-somename. Добавьте эти две строки ниже первой строки:
'<VirtualHost *:80>': ServerName www.mydomain.com ServerAlias mydomain.com
-
Настройте 000-default на указание на другую директорию (в другое место). В файле ‘000-default’ измените ‘DocumentRoot /var/www’ на указание на другое местоположение, например ‘DocumentRoot /var/www-test’. Директория /var/www-test не обязательно должна существовать, если она не существует, подключения с использованием другого доменного имени приведут к ошибке.
-
Перезапустите apache2: “sudo /etc/init.d/apache2 restart”
Надеюсь, это поможет.
Вы ничего не можете сделать, чтобы предотвратить их указание своего домена на ваш сайт. Однако вы всегда получите заголовок “HOST” от браузера, и он скажет вам, какой домен отправил пользователя туда.
Вы можете заставить свой сервер делать всякие вещи с этим. Я не знаю, на каком языке написан ваш сервер. Возможно, у вас есть nginx спереди, или вы используете apache, или просто запускаете сырой php или Go. Но все они позволят вам сделать эквивалент:
if request["HOST"] != 'yourdomainname.com' {
return differentContent.
Если вы думаете, что это была безобидная ошибка, вы можете вернуть короткую html-страницу, говоря:
Этот сайт временно недоступен из-за неправильной конфигурации.
Внимание, вебмастер: Пожалуйста, исправьте ваши настройки DNS.
Учитывая, что вы сказали, что это в Китае, вероятно, кто-то указывает свой домен на ваш сайт какое-то время, чтобы получить хорошую репутацию у google, а затем они изменят его на мошеннический сайт. Если это так — плюньте на них. Настройте свой сервер, чтобы вернуть перенаправление на грязный порносайт, как кто-то упомянул в этом случае. Но ТОЛЬКО если вы проверяете request["HOST"]
и убедитесь, что он не совпадает с вашим, чтобы не испортить свой сайт тоже :).
И учитывая, что мы в мире ChatGPT, вы можете получить помощь там. Я бы спросил что-то вроде:
Кто-то незаконно указал запись DNS на IP-адрес, на котором размещен мой веб-сайт. Я хочу настроить перенаправление для них. Я использую [скажите им свой инструмент, например apache или nginx, или свой язык программирования, если вы его не используете, например node, Golang, php]. Можете помочь мне перенаправить все запросы, которые не отправляют заголовок HOST [вашего веб-сайта], на example.com?
После чего измените example.com на любой забавный сайт, который вам может понравиться.
Добавление стандартного виртуального хоста, который перенаправляет на 403 или 404, как упомянули другие, является надежным вариантом. Если вы хотите что-то, что вы можете быстро добавить в свой файл .htaccess, вы можете сделать следующее, чтобы заблокировать неофициальные домены (требуется Apache 2.4 и включенный mod_rewrite):
# Отправить запросы, которые не соответствуют доменному имени, на страницу 404
<If "req('Host') !~ /your-domain-name.com/i && req('Host') != 'your.ip.address'">
RewriteRule ^ - [R=404,L]
</If>
Примечание: Если у вас есть несколько написаний вашего доменного имени, указанных на один и тот же IP-адрес, вам нужно будет изменить выражение, чтобы включить все действительные доменные имена для этого IP-адреса.
Попробуйте использовать Php, чтобы определить URL веб-страницы:
if(strpos( $_SERVER['HTTP_HOST'], 'yoururl.com') !== false){
echo "Это подлинный Yoururl.com";
} else {
header('Location: http://www.yoururl.com.com/'); exit; // Кто-то открыл ваш сайт как iframe или использует A запись для указания на ваш веб-сайт
}
Ответ или решение
Проблема перенаправления домена на ваш IP-адрес: что можно сделать?
Описание проблемы
Недавно ситуация стала актуальной, когда домен safeandbuy.com
был перенаправлен на ваш IP-адрес. Это создало определённые сложности, так как на ваш сайт начали поступать запросы от различных парсеров и роботов, связанных с неправильным доменным именем. В данной ситуации важно предпринять шаги, которые помогут минимизировать негативное воздействие на ваш ресурс.
Возможные решения
1. Настройка виртуального хоста (Apache/Nginx)
Подход, который может сработать — настройка виртуального хоста для safeandbuy.com
. Это позволит вам отфильтровывать трафик, поступающий с этого домена, и контролировать его.
Для Apache:
-
Создайте новый файл виртуального хоста:
Скопируйте текущий 000-default в 010-somename.sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/010-somename.conf
-
Настройте конфигурацию:
Отредактируйте новый файл, добавив следующие строки:<VirtualHost *:80> ServerName safeandbuy.com ServerAlias www.safeandbuy.com DocumentRoot /var/www/safeandbuy </VirtualHost>
-
Измените DocumentRoot в 000-default:
Убедитесь, чтобы корневая директория указывала на несуществующее местоположение, чтобы пользователи получали ошибку.DocumentRoot /var/www/test
-
Перезагрузите сервер:
sudo service apache2 restart
Для Nginx:
Настройте дополнительные правила в конфигурационном файле вашего сервера:
server {
listen 80;
server_name safeandbuy.com www.safeandbuy.com;
location / {
return 404; # Возвращайте 404 или 403 для всех запросов к этому домену
}
}
После завершения редактирования перезагрузите Nginx:
sudo service nginx restart
2. Контакт с владельцем домена
Если вам доступна информация о владельце домена (например, через WHOIS), стоит попытаться связаться с ним. Объясните ситуацию и попросите его исправить DNS-настройки.
3. Использование перенаправления
Если владельцы домена не реагируют, вы можете настроить ваше приложение так, чтобы оно проверяло, какой домен сделал запрос. Например, используйте условие:
if ($_SERVER['HTTP_HOST'] !== 'your-domain.com') {
header('Location: http://your-domain.com');
exit();
}
Это перенаправит всех пользователей, которые попытаются получить доступ к вашему сайту через safeandbuy.com
, на ваш основной домен.
4. Применение заголовков
Добавьте базовый заголовок в HTML вашего сайта:
<base href="http://www.yourdomain.com" target="_top"/>
Это поможет гарантировать, что любые клики из safeandbuy.com
ведут на ваш легитимный сайт.
Заключение
Несмотря на то что полностью остановить перенаправление невозможно, вы можете использовать указанные методы, чтобы улучшить ситуацию. Отслеживание запросов и настройка своего сервера сыграют важную роль в минимизации побочных эффектов, вызванных неправильным направлением домена. Постоянно следите за состоянием вашего трафика и будьте готовы к изменениям, чтобы защитить свой ресурс.