как узнать id вконтакте посетителя сайта
Теперь любой сайт может узнать адрес вашей страницы в VK?
Наткнулся на сервис позволяющий разместить на своём сайте js-код, который определяет ID посетителя без авторизации. Пользователь об этом совершенно не догадывается, т.к. определение ID происходит при загрузке любой страницы сайта без всяких вопросов об авторизации.
Для маркетинга это открывает широкие возможности, но никак не вписывается в мои представления о безопасной передаче персональных данных.
Любой сайт после установки этого шпионского скрипта, будет знать о своих посетителях почти всё, в плоть до номера телефона, если он указан. Понятно что пользователи сами несут ответственность за то, какие данные они выкладывают в публичный доступ, но заходя на сторонний сайт я не даю согласия на обработку моих персональных данных.
Создатели сервиса утверждают: «Никакого взлома или иных противоправных действий сервис не осуществляет. Мы идентифицируем заходящего человека и накапливаем открытую информацию.». Но я считаю незаконным сам факт идентифицикации. Поправьте меня если я не прав.
Ретаргетинг вконтакте работает похожим образом, но он не даёт доступ к профилям попавшим в группу ретаргетинга.
Может найдётся кто-то среди хабра-специалистов по вэб-безопасности кто сможет осветить эту тему в деталях?
Ссылку на сам сервис найти не сложно. Вопрос в другом: как вообще это стало возможно в таких масштабах?
Поковырял код, но мало что понял. Какая-то xss-магия с фреймами.
UPD
Используется невидимый виджет авторизации
Кликджекинг как соцфишинг, пишем скрипт для получения id пользователя вконтакте
Но что такое кликджекинг? На этот вопрос есть однозначный ответ – это разновидность мошенничества, при котором непорядочные владельцы сайтов размещают у себя невидимые кнопки, ссылки, значки, вынуждая посетителя нажать на них. К примеру, таким способом может осуществляться накрутка людей в группы и на публичные страницы. Идея, в общем, проста, как и реализация. В этом случае за кнопкой прячут виджет сообщества и, под предлогом получения скидки или доступа к закрытому разделу сайта, вынуждают нажать на неё. В итоге происходит перехват клика и перенаправление его на подписку.
В этой статье мы будем рассматривать соцфишинг на примере социальной сети вконтакте.
Весь процесс отслеживания идентификатора (id) профиля и называется соцфишингом. На базе этого инструмента можно найти массу сайтов и сервисов, которые предоставляют эту услугу. Конечно, это не бесплатно и не совсем безопасно. Хотя, скорее всего на данных ресурсах вы найдёте убедительные аргументы обратного. Только заплати деньги, установи кусок кода и радуйся общению с новыми потенциальными покупателями. Мы же в этой статье всё сделаем сами и исключительно в образовательных целях!
Итак, тема обширная и интересная и нам понадобиться план, по которому и будем разбираться с ней:
Фитча или уязвимость, как же мы вытянем id пользователя ВК?
Итак, какие же задачи перед нами стоят при написании скрипта?
Первая – это определить пользователя, который авторизирован. Это важный момент при несоблюдении, которого вся задумка будет рушиться как карточный домик (появлении на странице у посетителя формы ВК предлагающей ту самую авторизацию при произвольном клике).
Решение очень простое – воспользоваться виджетом для авторизации, у которого есть два состояния:
После того, как посетитель кликнет по кнопке, которою конечно мы спрячем и подсунем под курсор, мы сможем обратиться через API ВК для получения списка людей, которые лайкнули эту страницу. Вот тут то и кроется уязвимость. То, что мы можем привязывать виджет к любой странице, а потом узнавать список пользователей её лайкнувших, и позволяет нам определить пользователя вконтакте на другом сайте при помощи дополнительных инструментов.
Да, внимательный читатель скажет, какая же это уязвимость, если бы не было данной возможности и смысла в этом виджете так же не было. И я с этим полностью согласен – это палка с двумя концами. На одном конце интегрированность социальной сети с другими сайтами, а на другом данный бонус.
Регистрируем виджеты ВК
Перед тем как начать писать скрипт определения id пользователя вконтакте, нужно создать приложение ВК, через id которого, мы добавим два виджета, упомянутых выше. Нет большого смысла под каждый виджет создавать приложение, поэтому создадим только под кнопку «Мне нравится». Для этого переходим на страницу виджетов вконтакте и выбираем кнопку.
Далее заполняем форму и жмем сохранить (адрес сайта указываем URL, где будет находиться наш скрипт, об этом далее):
Подтверждаем свои намерения, введя капчу. После чего виджет будет создан и id приложения получен. При таком способе не нужно подтверждать создание приложения при помощи смс сообщения.
Вот и всё, двигаемся дальше уже к непосредственному написанию кода!
Принцип перехвата клика (а после уже точно начинаем писать скрипт)
В этом пункте я не буду долго разглагольствовать, а скажу только суть этого принципа. Когда посетитель и потенциальный пользователь ВК зайдет на подключенный к сервису сайт, мы незаметно для него добавим на страницу iframe с виджетами прикреплённый к курсору. Конечно, при помощи стилей мы его спрячем, к примеру, укажем прозрачность на 0. Виджиты в iframe располагаем таким образом, чтобы курсор был на кнопке «Мне нравится»:
После того, как пользователь кликнет, мы должны будем удалить iframe прикреплённый к курсору и позволить ему работать с сайтом в стандартном режиме. И тут вы можете спросить, а как это сделать? Ведь из iframe нельзя никакие данные отправить на домен сайта, но эту задачу мы будем уже решать при написании скрипта.
Ещё один оставшийся момент связан с виджетом авторизации. Как я выше писал, в зависимости от высоты мы будем определять статус пользователя в контакте. Так вот если он не авторизирован, то iframe мы будем удалять сразу после проверки. Всё остальное уже разберём далее.
Структура PHP приложения и подготовительные шаги
В этой статье я буду делать пример на локальном сервере (сейчас я использую в своей практике и работе Open Server), поэтому перед разбором структуры стоит обозначить доменные имена:
Двигаемся дальше, на test-scripts.loc создаем директорию getVKid и переходим к её содержимому:
Далее переходим к index.php и заполняем его простой HTML заглушкой:
Теперь нам нужно подключить сайт test-site.loc к нашему будущему сервису это будет осуществляться путём добавления следующих строк:
Наверняка, вы часто видели подобные конструкции. При помощи этого кода мы будем динамически подключать наш watch.php, о котором было сказано выше. Вторым параметром анонимной функции передадим уникальный ключ для каждого подключённого нами сайта, который будет сравниваться в конфигах приложения. Третьим параметром указываем путь до скрипта.
Продолжаем писать сервис, configs и functions
В файле configs мудрить особо не будем, и создадим массив с настройками, там же под массив с подключёнными сайтами и ключами к ним:
Теперь переходим к functions.php и заполняем его, первые три функции нам потребуются для того, чтобы отследить тип запроса:
Далее две для чистки строковых и числовых данных:
И последняя функция для проверки подключенного сайта по ключу:
Генерируем JavaScript файл watch.php для сайта и не забываем про inc.php
Сперва поговорим про inc.php. В нём отключаем ошибки, указываем кодировку и подключаем конфиги и функции:
Так как получить нужно id пользователя вконтакте максимально быстро, то весь код, относящийся к JavaScript мы будем писать без использования библиотек (хотя я видел варианты, где во всю гоняли jQuery, что грустно).
Тут особо пояснять нечего, если внимательно читали статью, то всё должно быть предельно понятно. После того как мы получили через GET параметр key, проверяем сайт на соответствие ключу и, в зависимости от результата, выводим соответствующий JavaScript код. Функцией delScript() будем пользоваться при каждом завершении работы скрипта. В ней мы как бы удаляем наши следы. Для себя же выводим в консоль результат отработки кода.
Это ещё одна проверка на соответствие домена подключённого и того, на котором установлен код. Двигаемся дальше и ещё одна порция проверок:
Мы определяем поддержку скрипта браузером. Отсеиваем мобильные устройства и браузеры, в которых отключены куки.
И две функции для установки кук и получения:
Допишем последний кусок кода, а пояснения я оставлю уже под ним:
Пишем код для iframe.php подключаем к станице плагины
Мы плавно подходим к концу статьи и сейчас мы напишем нашу ловушку для посетителей:
Файл iframe.php как и watch.php тоже является точкой входа. Мы также проверяем домен сайта по ключу. Добавляем разметку для виджетов и прячем её через CSS стили. Также создаём переменные с адресом сайта и сгенерированной страницей для виджета, через которую и будим вытягивать id.
Далее идёт код инициации наших виджитов по id приложения ВК:
Теперь мы подключим кнопку «Мне нравится»:
Если изучить документацию ВК, то в ней можно найти способ, как отследить добавленный лайк пользователя или убранный на странице.
При помощи top.postMessage() мы отправляем нам нужные сообщения обратно на тестовый сайт. Из-за того, что мы не использовали jQuery, у нас получился не малый код запроса к серверу, но при этом мы сэкономили на погрузке самой библиотеки.
Далее переходим к виджету авторизации:
Тут, как видите, особо говорить нечего: весь код добавили в функцию setInterval() с учётом того, что виджит может погрузиться не сразу. Вот и всё, мы закончили с iframe и осталось получить id по сформированной странице.
Тянем ВК id
В обработчике handler.php мы чистим переданные данные при ajax запросе и формируем ссылку в API ВК. При помощи file_get_contents() осуществляем запрос и получаем наш заветный id посетителя.
На этом мы завершаем писать сервис. А при клике в консоли увидим такую картинку:
Заключение
Так как была изменена политика безопасности некоторых виджетов сети, скрипт из статьи работает частично.
Как узнать ID пользователя или сообщества
После того, как ID пользователей в контакте заменили на короткие адреса, некоторые возможности социальной сети, которые работали при знании id, стали недоступны. А всё потому, что далеко не все пользователи знают о том, что существует аж несколько способов узнать ID друга или сообщества в контакте!
Мы расскажем вам о наиболее простых и быстрых из них.
Как узнать ID пользователя
Первый способ – это узнать ID пользователя при помощи его стены. Для этого делаем следующее:
Второй способ узнать ID – просмотрев друзей пользователя:
Как вы поняли, узнать ID других людей в социальной сети можно, переходя почти к любому разделу их странички.
А вот узнать номер своей страницы еще проще. Для этого:
Изменить свой ID в контакте нельзя, а вот короткий адрес – легко. Для этого просто измените его в том же блоке с номером страницы в Настройках.
Как узнать ID паблика или группы
Сообщества, как и пользователи, также могут иметь короткие адреса. Впрочем, узнать их настоящий ID можно по тому же принципу:
Обратите внимание, что ID сообществ идут с обязательным минусом (-) перед цифрами.
Теперь, зная о способах вычисления ID в социальной сети, Вы легко можете, например, составить рейтинг фотографий или отправить подарок самому себе.
Как узнать свой ID в ВК и других пользователей?
ВКонтакте входит в число самых популярных социальных сетей среди русскоязычных пользователей. На сайте можно общаться с друзьями, делиться фотографиями, слушать музыку, а также заводить новые знакомства. В соцсети есть люди с одинаковыми именами, фамилиями и даже идентичными фотографиями профиля, поэтому для придания уникальности каждой странице применяется ID.
Что такое ID ВКонтакте?
Айди ВКонтакте является уникальным идентификатором пользователя и присваивается автоматически во время создания аккаунта. Он представляет собой порядковый номер страницы в социальной сети. Например, у разработчика VK Павла Дурова ID — 1 (vk.com/id1), так как он был первым зарегистрированным пользователем сайта. Изначальный айди невозможно изменить, поэтому именно через него проще всего находить страницы нужных людей.
На заметку: если вы хотите скрыть от друзей, что находитесь в сети, узнайте, как сидеть в ВК офлайн.
Как узнать свой ID в ВК?
Рассмотрим доступные варианты.
URL-адрес
Если короткий адрес страницы ВКонтакте не изменялся на никнейм через настройки, самый быстрый способ посмотреть собственный ID — при помощи URL. Для этого достаточно открыть свой профиль VK и нажать на адресную строку браузера левой кнопкой мыши. ID будет указан сразу после текста «vk.com/».
Настройки аккаунта
Свой айди можно найти в настройках аккаунта. Чтобы сделать это, нужно:
На заметку: если вам интересен возраст вашего аккаунта, узнайте, сколько лет вы в ВК.
Код страницы
В любом браузере доступна функция просмотра исходного кода страницы. Чтобы определить ID с ее помощью, потребуется:
На заметку: узнайте, как восстановить страницу ВК, если вы удаляли ее или утратили данные для входа.
Как узнать ID в ВК другого пользователя?
Рассмотрим доступные варианты.
Фотография профиля
ID чужого аккаунта по аналогии со своим можно определить через URL. Но если в профиле установлен индивидуальный короткий адрес (набор букв и чисел), а вы ищете оригинальный айди, который дается при регистрации, необходимо выполнить следующие действия:
Запись на стене
Если на чужой странице отсутствует аватар или она абсолютно пустая, определить ID можно при помощи стены. Для этого понадобится:
На заметку: узнайте, как посмотреть гостей в ВК, чтобы проверить, кто заходил на вашу страницу.
RegVK
Если у человека ограничен доступ к профилю или вы находитесь у него в черном списке, определить айди поможет онлайн-сервис RegVK. Чтобы им воспользоваться, надо:
Онлайн-программа способна таким же образом определять айди групп, пабликов и мероприятий ВКонтакте.
Как узнать ID ВКонтакте, если он изменен на ник?
В VK есть функция, которая позволяет поменять оригинальный айди страницы на персональный адрес из латинских букв и чисел. При этом оригинальный цифровой ID остается закрепленным за аккаунтом. Чтобы узнать свой идентификатор, измененный на никнейм, нужно:
Что касается чужих профилей с измененными адресами, то легче всего узнавать их айди с помощью сервиса RegVK, упомянутого выше.
На заметку: чтобы почистить свой плейлист от ненужных аудио, узнайте, как удалить песню в ВК.
Подводим итоги
ID ВКонтакте — это идентификатор аккаунта, который привязывается к нему навсегда. Узнать свой айди можно из URL-адреса, настроек профиля и исходного кода страницы. Для просмотра чужих идентификаторов используются аватар, стена с записями и бесплатный онлайн-сервис RegVK. Этот же сайт дает возможность узнать оригинальный ID страницы, если ее короткий адрес был изменен на никнейм.
Как узнать ID страницы в ВК различными способами
Добрый день, друзья. Сегодня мы поговорим про то, как узнать ID страницы в ВК и выясним, что это такое, для чего нужно и где применяется.
Для начала определение термина…
Для чего нужен ID страницы в ВК
Перед тем, как его узнать, попробуем разобраться, для чего вообще нужен этот самый айди ВКонтакте:
Как узнать ID страницы пользователя ВКонтакте
Сделать это несложно. Его можно посмотреть в адресной строке браузера, зайдя на страничку нужного нам юзера в ВК:
Цифры, которые записаны после vk.com/id и есть то, что нам нужно.
Но иногда бывает так, что айди скрыт, и в ссылке используется человекопонятный текст (например, у меня используется текст sergey_vkazi :
2. Поскольку аватарка находится в фотоальбоме, то id получится определить, зайдя в альбомы или выбрав любую фотографию в нем. Вот так он выглядит в разделе альбомов (после albums):
… и на страничке каждой фотографии в этом фотоальбоме (после photo):
3. Также можно узнать номер, перейдя к вашим видео и выбрав вкладку “Мои видеозаписи”. Тогда в строке браузера увидим ссылку, где то, что мы ищем, располагается сразу за videos:
Аналогично и на самой страничке с видео (за словом videos).
Так же в аудиозаписях он находится в URL за словом audios.
Если идентификатор скрыт, то его получится узнать практически в любых разделах аккаунта ВКонтакте. Если вдруг в ссылке много цифр и вы сомневаетесь, проверьте несколькими вышеописанными способами, чтобы окончательно убедиться, что они везде совпадают.
Как узнать свой ID в ВК
Узнать свой ID в ВК (если он скрыт) можно любым вышеперечисленным способом. Или перейти в настройки профиля. Выбираем вкладку “Общее”, пункт “Адрес страницы”. Здесь нужно нажать “Изменить”.
Появится всплывающее сообщение, что “вы можете сменить короткий адрес вашей страницы на более удобный”, и при этом под строкой высветится ваш настоящий id.
Как узнать ID группы или публичной страницы ВКонтакте
Для группы или публичной страницы ВКонтакте номер имеет следующий вид:
В отличии от человека, где перед числом ставились буквы id, здесь пишется club и public.
Вышеописанными способами можно вычислить айди любого сообщества или паблика ВКонтакте (если он скрытый).
Аналогично определяется для события или мероприятия. Только он имеет вид https://vk.com/event160558565
Как изменить ID ВКонтакте
Собственно сам айди сменить не получится. Он присваивается при создании профиля и остается неизменным навсегда, вплоть до удаления аккаунта. Разрешено изменить только человекопонятный текст, заменяющий цифры. Для этого опять переходим в настройки, вкладка “Общее”, пункт “Адрес страницы” и выбираем “Изменить”.
Вам следует придумать уникальный текст и нажать на кнопку “Занять адрес”, если вы решили поменять URL, или “Отмена”, если вы передумали совершать данное действие.