Чем может грозить точка в конце доменного имени

в 9:15, , рубрики: Apache, nginx, авторизация, Веб-разработка, доменные имена, домены, информационная безопасность, системное администрирование, метки: , , , ,

Существует такое понятие, как корневой домен, соответственно, в конце каждого домена есть точка. Возможно, вы и не подозреваете, что ваш сайт доступен по доменному имени с точкой в конце (domain.zone.), так как браузеры позволяют обращаться к сайтам, как с точкой в конце домена, так и без неё.

Возможные проблемы

Если не учитывать тот факт, что пользователь может случайно ввести доменное имя с точкой в конце или перейти по ссылке от «доброжелателя» и попасть на доменное имя вашего сайта с точкой в конце, есть вероятность возникновения следующих непредвиденных ситуаций:

1) Если вебсайт работает по HTTPS, при обращении к доменному имени с точкой в конце, браузер выдаст предупреждение о недоверенном соединении.

2) Может не работать авторизация, т.к. кука чаще всего ставится на доменное имя без указания точки в конце. Пользователь в этом случае будет долго недоумевать, почему ему не удаётся авторизоваться. Примечательно, что, если вы установите куку на доменное имя с точкой в конце, она НЕ будет передана доменному имени без точки в конце и наоборот.

3) Может ломаться JavaScript на странице, если не учтена вероятность доступа к сайту по доменному имени с точкой в конце, что для солидных ресурсов недопустимо.

4) Могут возникнуть проблемы с кэшированием страниц сайта (например, тот же www.cloudflare.com просто не даёт очищать кэш отдельных страниц с точкой в конце, сообщая, что указано неверное доменное имя).

5) Если вы в условиях в конфигурации веб-сервера (.htaccess, nginx.conf и т.д.) полагаетесь на конкретное доменное имя без точки в конце, возможно возникновение самых разных непредвиденных ситуаций: неожиданные редиректы, чудеса с basic-авторизацией и т.п.

6) Если веб-сервер не настроен на обслуживание доменного имени с точкой в конце, пользователь, случайно набрав точку в конце домена, увидит что-то вроде: Bad Request — Invalid Hostname.

7) Теоретически поисковые системы могут посчитать, что на вашем ресурсе имеет место дублирование контента, если кто-то случайно или умышленно разместит ссылки на страницы вашего сайта с точкой в конце доменного имени (если вы располагаете информацией о том, воспринимают ли поисковые системы domain.zone и domain.zone. как один домен – добро пожаловать в комментарии к топику).

Решение

Избежать вышеописанных проблем позволит редирект с доменного имени с точкой на доменное имя без точки:

Apache

RewriteCond %{HTTP_HOST} !^domain.zone$
RewriteRule ^/?(.*) http://domain.zone/$1 [L,R=301]

Nginx

if ($http_host != 'domain.zone') {
    rewrite  ^/(.*)$  http://domain.zone/$1 permanent;
}  

Разведка боем

Facebook
https://www.facebook.com.
Перенаправляет на www.facebook.com

Megaupload
https://mega.co.nz./#login
Авторизация успешно отрабатывает, но после перехода на домен без точки в конце https://mega.co.nz, пользователь считается неавторизованным.

Stack Overflow
http://stackoverflow.com.
Bad Request — Invalid Hostname
HTTP Error 400. The request hostname is invalid.

GitHub
https://github.com./login
Авторизация не работает.

Twitter
https://twitter.com.
404 — Страница не найдена.

Yahoo
https://login.yahoo.com.
Авторизация не работает.

Wikipedia
http://en.wikipedia.org./w/index.php?title=Special:UserLogin
Авторизация не работает.

MSN
http://msn.com.
Bad Request — Invalid Hostname
HTTP Error 400. The request hostname is invalid.

Microsoft
http://microsoft.com.
Bad Request — Invalid Hostname
HTTP Error 400. The request hostname is invalid.

eBay
https://signin.ebay.com./ws/eBayISAPI.dll?SellItem
Авторизация успешно отрабатывает.

Tumblr
http://www.tumblr.com.
Не найдено.

Flickr
http://www.flickr.com.
Извините, Flickr не разрешает встраивание в iframe.

Dropbox
www.dropbox.com./login
Ошибка (403) Кажется, вы пытались сделать что-то странное. Вы авторизовались в другом аккаунте Dropbox в соседнем окне?

VK
http://vk.com.
Авторизация не работает.
Ошибка JavaScript: «NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN: Illegal document.domain value» vk.com. (строка 41)

Alexa
https://www.alexa.com.
Перенаправляет на www.alexa.com

Яндекс-Почта
https://mail.yandex.ru.
Авторизация успешно отрабатывает и происходит редирект на mail.yandex.ru/neo2/#inbox

Яндекс-Поиск
www.yandex.ru.
Ошибка JavaScript: «NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN: Illegal document.domain value» www.yandex.ru. (строка 5)

Хабрахабр
http://habrahabr.ru./login/
Авторизация не работает.

Mail.ru
http://mail.ru.
Настроен редирект на mail.ru
https://e.mail.ru./cgi-bin/login
Авторизация на не работает.

Автор: saynt2day

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js