Вопрос относительно карт сайта - PullRequest
0 голосов
/ 20 июля 2010

Я храню свои карты сайта в своей веб-папке. Я хочу, чтобы веб-сканеры (Googlebot и т. Д.) Имели доступ к файлу, но я не обязательно хочу, чтобы все и каждый имели к нему доступ.

Например, этот сайт (stackoverflow.com) имеет индекс сайта - как указано в файле robots.txt (https://stackoverflow.com/robots.txt).

Однако, когда вы набираете https://stackoverflow.com/sitemap.xml,, вы попадаете на страницу 404.

Как я могу реализовать то же самое на моем сайте?

Я работаю на веб-сайте LAMP, а также использую индексный файл карты сайта (поэтому у меня есть несколько карт сайта для сайта). Я хотел бы использовать тот же механизм, чтобы сделать их недоступными через браузер, как описано выше.

Ответы [ 3 ]

0 голосов
/ 20 июля 2010

Переполнение стека, по-видимому, проверяет две вещи при принятии решения, кто получает доступ к файлам сайта:

  • Строка USER_AGENT
  • Исходящий IP-адрес

оба, вероятно, будут сопоставлены с базой данных известных законных ботов.

Строка USER_AGENT довольно легко проверить на языке сервера;это также очень легко подделать.Дополнительная информация:

0 голосов
/ 20 июля 2010

Во-первых, определите, в какие сети вы хотите получить действительную карту сайта.

Во-вторых, настройте веб-сервер так, чтобы он отвечал запросам из этих сетей на ваш файл карты сайта, и настройте веб-сервер для перенаправления всех других запросов встраница ошибки 404.

Для nginx вы хотите вставить что-то вроде allow 10.10.10.0/24; в блок location для файла карты сайта.

Для apache вы ищетеиспользуйте директиву mod_authz_host Allow в директиве <Files> для файла карты сайта.

0 голосов
/ 20 июля 2010

Вы можете проверить заголовок пользовательского агента, который отправляет клиент, и передать карту сайта только известным поисковым роботам. Однако это не совсем безопасно, поскольку заголовок пользовательского агента легко подделывается.

...