Как сделать приватный URL? - PullRequest
9 голосов
/ 09 февраля 2012

Я хочу создать личный URL-адрес как

http://domain.com/content.php?secret_token=XXXXX

Тогда только посетители, которые имеют точный URL (например, полученный по электронной почте), могут видеть страницу.Мы проверяем $_GET['secret_token'] перед отображением контента.

Моя проблема в том, что если какой-либо случай, поисковые роботы найдут URL, они просто его проиндексируют, и URL будет общедоступным.Существует ли практический метод, позволяющий избежать посещений ботов и последующего индексирования?

Возможные, но неблагоприятные методы:

  1. Система входа в систему (например, с помощью php-сессии): Но я не хочу предлагать пользователю войти в систему.

  2. Папка, защищенная паролем: проблема, как указано выше.

  3. Использование Robots.txt: Многие поисковые роботы не уважают его.

Ответы [ 6 ]

7 голосов
/ 09 февраля 2012

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

  • Срок действия ссылки истекает
  • Блокировка ссылки на IP-адреса класса C или D, к которым она была получена с первого раза
  • Попросите страницу задать пользователю что-то вроде логического вопроса, прежде чем пересылать на реальную страницу с токеном, чувствительным ко времени (двухэтапный процесс), и, если вызов не пройден, отправьте 404 назад, чтобы сканер остановился.
3 голосов
/ 09 февраля 2012

Попробуйте сгенерировать 5-6 буквенно-цифровой пароль и приложить его вместе с письмом, так что даже если роботы набросятся на него, им потребуется пароль для доступа к странице. (Просто дополнительная дополнительная мера безопасности)

2 голосов
/ 09 февраля 2012

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

2 голосов
/ 09 февраля 2012
  • Если на него нет ссылки (включая то, что в папке нет индекса) вид), робот не найдет его
  • Вы можете вернуть 404, если токен неверен: Таким образом, робот (и у кого еще нет токена) подумает, что такой страницы нет
1 голос
/ 09 февраля 2012

Если ссылка не опубликована, все будет в порядке в большинстве обстоятельств ...

... Однако я предупрежу вас, что преобладание панелей инструментов браузера (на ум приходят Google и Yahoo) меняет игру. В одной компании, в которой я работал, были проиндексированы страницы из их внутренней сети . Вы можете выполнить поиск по странице, и появятся несколько результатов, но вы не сможете получить к ним доступ, если не находитесь внутри нашего брандмауэра или не подключены к VPN.

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

Я знаю, странно, но верно ...

1 голос
/ 09 февраля 2012

вам нужно только указать поисковым системам не индексировать /content.php, а поисковые системы, которые учитывают robots.txt, не будут индексировать любые страницы, начинающиеся с /content.php.

...