- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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. [3]
Перенаправляет на www.facebook.com [4]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор: saynt2day

Источник [28]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/nginx/29570

Ссылки в тексте:

[1] корневой домен: http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD

[2] www.cloudflare.com: https://www.cloudflare.com

[3] https://www.facebook.com.: https://www.facebook.com.

[4] www.facebook.com: https://www.facebook.com

[5] https://mega.co.nz./#login: https://mega.co.nz./#login

[6] https://mega.co.nz: https://mega.co.nz

[7] http://stackoverflow.com.: http://stackoverflow.com.

[8] https://github.com./login: https://github.com./login

[9] https://twitter.com.: https://twitter.com.

[10] https://login.yahoo.com.: https://login.yahoo.com.

[11] http://en.wikipedia.org./w/index.php?title=Special:UserLogin: http://en.wikipedia.org./w/index.php?title=Special:UserLogin

[12] http://msn.com.: http://msn.com.

[13] http://microsoft.com.: http://microsoft.com.

[14] https://signin.ebay.com./ws/eBayISAPI.dll?SellItem: https://signin.ebay.com./ws/eBayISAPI.dll?SellItem

[15] http://www.tumblr.com.: http://www.tumblr.com.

[16] http://www.flickr.com.: http://www.flickr.com.

[17] www.dropbox.com./login: https://www.dropbox.com./login

[18] http://vk.com.: http://vk.com.

[19] https://www.alexa.com.: https://www.alexa.com.

[20] www.alexa.com: https://www.alexa.com

[21] https://mail.yandex.ru.: https://mail.yandex.ru.

[22] mail.yandex.ru/neo2/#inbox: https://mail.yandex.ru/neo2/#inbox

[23] www.yandex.ru: http://www.yandex.ru

[24] http://habrahabr.ru./login/: http://habrahabr.ru./login/

[25] http://mail.ru.: http://mail.ru.

[26] mail.ru: http://mail.ru

[27] https://e.mail.ru./cgi-bin/login: https://e.mail.ru./cgi-bin/login

[28] Источник: http://habrahabr.ru/post/172999/