Отключить robots.txt от доступа в браузере, но все еще доступен пауками?

Мы используем файл robots.txt, чтобы Google (и другие поисковые пауки) не сканировали определенные страницы /каталоги в нашем домене. Некоторые из этих каталогов /файлов являются секретными, то есть они не связаны (за исключением, возможно, на других страницах, охватываемых файлом robots.txt). Некоторые из этих каталогов /файлов не являются секретными, мы просто не хотим их индексировать.

Если кто-то просматривает непосредственно www.mydomain.com/robots.txt, они могут видеть содержимое robots.txt. С точки зрения безопасности это не то, что мы хотим публично доступным для всех. Любые каталоги, содержащие защищенную информацию, устанавливаются за аутентификацией, но мы по-прежнему не хотим, чтобы они были доступны для обнаружения, если пользователь не знает о них.

Есть ли способ предоставить файл robots.txt, но чтобы его присутствие было замаскировано Джоном Доу из его браузера? Возможно, используя PHP для генерации документа на основе определенных критериев? Возможно, что-то, о чем я не думаю? Мы бы предпочли способ централизованно сделать это (это означает, что решение тега <meta> меньше идеала).

5 голосов | спросил Michael Irigoyen 15 FebruaryEurope/MoscowbTue, 15 Feb 2011 01:06:08 +0300000000amTue, 15 Feb 2011 01:06:08 +030011 2011, 01:06:08

5 ответов


11

Если вы не хотите, чтобы что-то отображалось в Интернете, не делайте его видимым. В вашем случае использование файла robots.txt для исключения каталогов - это безопасность не-безвестности. Вместо того, чтобы публично говорить «Эй, есть место со всеми драгоценными драгоценностями и ценными металлами, не заходите туда!», Просто не говорите ничего и просто не рекламируете присутствие этих каталогов вообще.

Это займет определенную дисциплину с вашей стороны, убедившись, что ни один из этих каталогов никоим образом не ссылается на ваши общедоступные страницы.

В противном случае это невозможно сделать через robots.txt. Если вы сделаете динамически созданную страницу на основе посетителя, то что помешает кому-то установить строку пользовательского агента браузера на «Googlebot» и получить полный список исключенных каталогов? Нет 100% надежного метода обнаружения, кто находится на другом конце соединения - в лучшем случае вы можете догадаться и надеяться на лучшее. И угадывание просто не сокращает его, когда дело доходит до безопасности.

Защищенные паролем страницы /каталоги не могут сканироваться, поэтому они будут в безопасности, даже если они не будут явно указаны в файле robots.txt для исключения. Googlebot и его братья не имеют учетных данных для входа, поэтому не могут попадайте на страницы, чтобы их развернуть.

ответил 15 FebruaryEurope/MoscowbTue, 15 Feb 2011 01:14:53 +0300000000amTue, 15 Feb 2011 01:14:53 +030011 2011, 01:14:53
4

Если вы не хотите, чтобы роботы просматривали эти каталоги, но не хотели объявлять их в файле robots.txt, используйте HTTP-заголовок x-robots-tag, чтобы заблокировать их.

Поместите это в файл .htaccess в любой каталог, который вы не хотите индексировать:

Header set x-robots-tag: noindex

Это скажет роботам игнорировать содержимое файлов в этом каталоге. Таким образом, файл robots.txt не нужен, и у вас есть своя безопасность через неясность и законный способ сообщать поисковым системам, чтобы они остались.

ответил John Conde 15 FebruaryEurope/MoscowbTue, 15 Feb 2011 20:37:41 +0300000000pmTue, 15 Feb 2011 20:37:41 +030011 2011, 20:37:41
0

Вы можете использовать mod rewrite для перенаправления файла robots.txt на php-скрипт и проверки пользовательского агента, но его можно обойти, обманув пользовательский агент.

У вас нет ничего, что отличает обычного пользователя от поисковой системы, за исключением информации, которую он отправляет, и все это может быть подделано.

ответил 15 FebruaryEurope/MoscowbTue, 15 Feb 2011 01:08:40 +0300000000amTue, 15 Feb 2011 01:08:40 +030011 2011, 01:08:40
0

Вы можете проверить HTTP-заголовок User Agent . Это не безупречно, но вы можете сказать, что если пользователь использует Firefox, Explorer и т. Д. Конечно, пользователь может использовать завиток и обойти это.

ответил 15 FebruaryEurope/MoscowbTue, 15 Feb 2011 01:09:57 +0300000000amTue, 15 Feb 2011 01:09:57 +030011 2011, 01:09:57
0

robots.txt примерно такая же идея, как favicon.ico. Но это единственный стандарт, поэтому вам нужно работать в нем.

Вы можете поместить все ваши ограниченные страницы в одну иерархию (например, /restricted, содержащий /restricted/login и т. Д.) И назовите только корень иерархии в robots.txt. Пользователь может узнать, что некоторые страницы есть, но не будут знать, что на самом деле есть на страницах.

Это может быть поддомен с Disallow: /.


Еще одна вещь, которую вы можете попробовать, - это не перечислять ваши ограниченные страницы, а вместо этого обнаруживать пользовательские агенты /IP-адреса, обращающиеся к robots.txt (которые используют только веб-сканеры должны делать), а затем лишить их доступа к страницам.

ответил 15 FebruaryEurope/MoscowbTue, 15 Feb 2011 02:01:09 +0300000000amTue, 15 Feb 2011 02:01:09 +030011 2011, 02:01:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132