Google проиндексировал мое приложение с помощью маркера безопасности. Как? Как предотвратить?

Я разработал веб-приложение, которое имеет «демо-страницу». Одно из бизнес-правил заключается в том, чтобы избавиться от логина/пароля для пробных пользователей — при этом требуя от пользователя иметь действительную электронную почту, чтобы начать пробную версию и регистрировать все действия пользователя индивидуально.

На мой взгляд, это было просто: давайте просто использовать «токен» в URL в качестве параметра. Мы просим пользователя ввести электронную почту, а затем отправить ссылку доступа с сгенерированным токеном — почти как API, но вместо JSON и XML, мы показываем HTML с JS. То же самое у меня в голове.

Вроде этого:
https://www.example.com/trial?token=abcdef123456

Он работал хорошо, пока я не заметил, что google проиндексировал одну из наших ссылок доступа с действительным маркером. Как?

Для меня это очень странно. У нас есть API, которые используют ту же функциональность — передачу маркера доступа в URL — адресе-в течение многих лет. API Google и Microsoft работают точно так же. Единственная разница в том, что я возвращаю HTML вместо JSON.

У нас есть цифровые сертификаты, HTTPS с шифрованием SSL/TLS. Мы используем RNGCryptoServiceProvider для создания защищенного токена. Мы отправляем токены только по защищенному каналу (электронной почте или внутри нашего сайта https).

Что могло случиться? И что я могу сделать, чтобы предотвратить это?

Мое предположение: Google Chrome, может быть?

1 ответ

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

    Сценарий:
    Например. Я получил Ваш URL по электронной почте и решил вести блог о том, как круто ваш сервис и список URL, чтобы люди могли взглянуть на него. Google bots come scrape my blog page, come across your link, go visit it and then index it against all relevant keywords that are on that page. Затем, когда вы ищете соответствующее ключевое слово, относящееся к вашему веб-сайту/бизнесу, этот URL отображается как результат поиска.

    Самотестирование:
    Попробуйте найти этот точный URL в google, чтобы открыть любую страницу, которая может его перечислить.

    Исправление:
    robots.txt

    Почему это не происходит для API JSON: API предназначены для использования на компьютере. Разработчики знают значение ключа API. Если разработчик не достаточно неосторожен / глуп, чтобы опубликовать конечную точку API с ключом api в ней в блоге, это вряд ли произойдет.

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