Задать вопрос
weranda
@weranda

Можно ли понять на своем сайте посещал ли человек поисковую систему (яндекс, гугл и пр.)?

Приветствую.
Можно ли понять по каким-то косвенным признакам на своем сайте был ли посетитель в поисковой системе, даже если он пришел на сайт не из ПС?
Есть ли какие-то косвенные признаки? Можно ли что-то через JS запросить в куках, локальном хранилище или еще откуда-то, может быть, какой-то файл или что-то другое?
  • Вопрос задан
  • 138 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
kirill89
@kirill89
Остановите меня, если несу чушь, но в теории можно использовать side-channel attack.

Например мы знаем что yandex использует скрипт https://yastatic.net/jquery/2.1.4/jquery.min.js

Тогда можно изменить время скачивания не кэшированной версии (Math.random() что бы сделать URL уникальным и пропустить кэш):

console.time('no cache');
fetch('https://yastatic.net/jquery/2.1.4/jquery.min.js?' + Math.random())
.then(r => r.text())
.then(() => console.timeEnd('no cache'));


А затем измерить время скачивания по прямой ссылке:

console.time('yandex');
fetch('https://yastatic.net/jquery/2.1.4/jquery.min.js')
.then(r => r.text())
.then(() => console.timeEnd('yandex'));


У меня получилось как то так:

5f4e4d0cef646164392100.png

По скрину видно что не кэшированная версия во много раз медленнее чем кэшированная. По понятным причинам это сработает только один раз. Так что понадобится логика что бы не выполнять эту проверку дважды для одного пользователя.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
обычно нет
только кликджекинг из приложения разве что

но раньше работал реферер, ну сейчас вроде тоже работает
Ответ написан
Комментировать
@McBernar
Нет, вам доступны только куки и хранилище на текущем домене. Иначе это была бы гигантская дыра в безопасности.

Не просто так данные о пользователях продаются в глобальные сетки, а любой third-party сервис собирает о пользователе все, до чего может дотянуться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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