2014-09-28 2 views
1

Я использовал сервисы URL Shortener, такие как goo.gl или bit.ly, чтобы сократить длинные URL-адреса в моих приложениях, используя их соответствующие API. Эти API очень удобны, к сожалению, я заметил, что длинный URL-адрес попадает, когда он сокращает его. Позвольте мне немного пояснить, что у меня есть. Скажем, например, что я хочу, чтобы пользователи проверяли что-то (например, адрес электронной почты или подтверждение) и предлагали им в своем приложении ссылку для их посещения, чтобы проверить что-то. Я использую этот длинный URL-адрес и использую API для его сокращения. Целевая ссылка (например, PHP-скрипт) получает удар, когда я вызываю сокращенный API, что делает процесс проверки бесполезным.url shortener services API final link hit hit

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

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

Спасибо за помощь.

+0

Вы все равно должны проверять все данные, переданные в PHP-скрипт, а не только на данные из любого места – ggdx

ответ

3

Я не могу разговаривать с Google, но в Bitly мы сканируем часть URL-адресов, сокращенную с помощью нашей службы, для поддержки различных функций продукта (проверка спама, выбор заголовков и т. Д.), Что является причиной поведения, которое вы видите.

В такой ситуации мы делаем две рекомендации:

  1. Используйте robots.txt, чтобы отметить соответствующие пути, как «запрещено». Это легкая форма защиты, так как нет ничего, что заставило бы клиентов уважать robots.txt, но хорошо управляемые боты, такие как BitlyBot или GoogleBot, будут уважать ваш файл robots.txt.
  2. Как упоминалось в комментариях dwhite.me и, как вы признали в своем сообщении, обычно лучше не делать никаких действий, изменяющих состояние в ответ на запросы GET. Как всегда есть призыв к оценке рисков, связанных с добавленной сложностью более безопасного подхода.
+0

Спасибо за ваш ответ. Я попытаюсь реализовать файл robots.txt, как вы рекомендовали. Что касается решения об изменении состояния по запросу GET: в этой конкретной ситуации время между моментом сокращения URL-адреса и моментом, когда пользователь будет посещать URL-адрес, предположительно будет относительно коротким, а cron удалит и не подтвердит эти ссылки время от времени. Но, как я уже говорил ранее, добавление кнопки подтверждения на этой странице просто увеличивает процесс проверки. Здесь важно сохранить нажатие. –

+0

Я также думал о настройке локальной переменной cookie на стороне клиента и проверять этот файл cookie при проверке, ограничивая пользователей принятием cookie и проверкой с того же устройства. –