Как сайт может узнать id пользователя в соц. сети?

Сегодня девушка рассказала что лазила по одному «специфичному интернет-магазину», а через два часа ей Вконтакте написал человек — менеджер магазина — предлагал ей консультацию по просмотренным ей товарам.

Узнать какие товары она смотрела — легко по логам. Но как логи проассоциировались с её id вконтакте?

Is it a bug or a feature? :)

UPD: На сайт она зашла с Яндекса, окон авторизации Вконтакте OpenAPI вроде «Вы собираетесь разрешить данному сайту доступ к Вашим данным» не было.
Пока склоняюсь к мысли что это либо баг вконтакта, либо некий троян/тулбар установленный в браузере, либо нашлась лазейка через flash. Однако во всё это верится слабо :)
  • Вопрос задан
  • 30149 просмотров
Решения вопроса 2
Ice_venom
@Ice_venom
Ну я чуть-чуть курнул API — все реализуемо. Подключаем сайт вконтакте. Далее используем на подключенном сайте следующий код:

<html>
<head>
    <script src="vkontakte.ru/js/api/openapi.js" type="text/javascript"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script language="javascript">
window.onload = (function() {
    VK.init({
          apiId: 2046606 //id подключенного сайта
        });
    function authInfo(response) 
    {
      if (response.session)
      {
        document.getElementById('t').innerHTML = "Your ID: " + response.session.mid;
      } 
      else 
      {
        document.getElementById('t').innerHTML = 'Вы не авторизованы вконтакте.';
      }
    }
    VK.Auth.getLoginStatus(authInfo);
});
</script>
<div id='t'></div>

</body>
</html>


Пример:
svedm.com/test.html
Ответ написан
ElysiumDoyle
@ElysiumDoyle
Сейчас вконтакте более обширен чем раньше и с многими магазинами сотрудничает. То-есть, можно посмотреть по «желаниям». И магазины на сайт прикрепляют такой вот скриптик/прочую фигню, что если вход вконтакте выполнен, то и магазины знают кто ты такой и посещения ведутся.
Самая примитивная проверка — зайти на сайт, где установлена форма комментариев от Вконтакте.
Ответ написан
Пригласить эксперта
Ответы на вопрос 12
@djerom
Обновил, может кому пригодится
<html>
<head>
	<script src="//vk.com/js/api/openapi.js" type="text/javascript"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script>
window.onload = (function() {
    VK.init({
          apiId: 4983778 //ВАШ_IP_ID
        });
    function authInfo(response) 
    {
      if (response.session)
      {
        document.getElementById('id').innerHTML = "Your ID: " + response.session.mid;
      } 
      else 
      {
        document.getElementById('id').innerHTML = 'Вы не авторизованы вконтакте.';
      }
    }
    VK.Auth.getLoginStatus(authInfo);
});
</script>
<div id='id'></div>

</body>
</html>
Ответ написан
JeanLouis
@JeanLouis
Давно уже есть vKontakte API для сайтов. Сам контакт подгружается через iframe, поэтому все cookies доступны, определяет пользователя и может передать эту информацию сайту, использующему API.
Ответ написан
Ice_venom
@Ice_venom
Тогда, как вариант, подгрузка feed2.php и парсинг json.
Ответ написан
Kalantyr
@Kalantyr
А известно — как она попала на этот интернет-магазин? Если через поиск товаров ВКонтакте — тогда всё объясняется просто :)
Ответ написан
@Robotex
Заходим на connect.ua/ и жмем кнопку Войти Вконтакте. Никакого подтверждения не вылазит.
Ответ написан
@SuharevVitaly
Директор Айтигро
Кто отслеживает вопрос, но ещё не в курсе. Яндекс с этим активно борется: https://yandex.ru/blog/webmaster/21745
Ответ написан
Комментировать
Ice_venom
@Ice_venom
Не знаю как сейчас, но раньше можно было сделать подобное, путем вставки на сайт iframe размером 1х1px, который загружал прямую ссылку на голосование за предложение пользователя.
Ответ написан
@Robotex
Если она перешла на сайт магазина из вконтакта, то в referrer сайта сохранился адрес ее страницы.
Ответ написан
Paketik
@Paketik
«Вы не авторизованы вконтакте.»
Fail
Ответ написан
Awake
@Awake
Рулю разработкой ;-)
вполне возможно подложить кнопку с согласием под какую-нибудь часто-нажимаемую кнопку на сайте. Ну и далее всё ясно как бы.
Ответ написан
@vis0r
clickjacking вполне может подойти. Как например тут в примере, только виджет авторизации полностью невидим. jsfiddle.net/Ej25j
Ответ написан
Комментировать
Дыру в vk якобы закрыли, но сервисы существуют и поныне
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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