Как стать автором
Обновить
0

ВКонтакте API *

Пишем для VK

Сначала показывать
Порог рейтинга
Уровень сложности

Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален

Уровень сложностиСредний
Время на прочтение52 мин
Количество просмотров22K

Что мы знаем о капче? Капча - автоматизированный тест тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но, к сожалению ( или к счастью, смотря для кого ), текстовая капча сильно устарела. Если еще 10 лет назад она была более-менее эффективным методом защиты от роботов, то сейчас ее может взломать обойти любой желающий робот, более-менее разбирающийся в компьютере.

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

А ну-ка поподробнее
Всего голосов 64: ↑61 и ↓3+58
Комментарии38

Новости

Как получать музыку из ВКонтакте в 2022 году

Время на прочтение5 мин
Количество просмотров25K

При проектировании проекта, я решил разделить его на две части. Первая — получение музыки из ВК. Вторая — сам бот. И начать я решил с первой части.

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

Я решил посмотреть что сейчас отдает ВКонтакте при воспроизведении записи и полез во вкладку network, вот что я там увидел...

Читать далее
Всего голосов 57: ↑55 и ↓2+53
Комментарии17

Как изменились хабравчане за 5 лет? Или «280 недель спустя»

Время на прочтение8 мин
Количество просмотров9.1K
Мы стали старше, женатых/замужних стало в полтора раза больше (влюбленных на треть меньше), а число терпимых к алкоголю выросло на четверть.

Если вы хотите посмотреть, как изменились хабравчане за 5 с лишним лет, добро пожаловать под кат.

Читать дальше →
Всего голосов 93: ↑91 и ↓2+89
Комментарии19

Анализ языка VKScript: JavaScript, ты ли это?

Время на прочтение9 мин
Количество просмотров25K

TL;DR




VKScript — это не JavaScript. Семантика этого языка кардинально отличается от семантики JavaScript. См. заключение.


Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии7

Истории

Как развлечь себя с помощью vk api

Время на прочтение4 мин
Количество просмотров50K
В какой-то момент моей жизни я понял, что для счастья мне нужно создать 10 страниц-копий самого себя во Вконтакте и добавиться одновременно всеми в друзья к людям из френдлиста моей основной страницы. Для подробностей реализации идеи — прошу под кат.

Читать дальше →
Всего голосов 86: ↑77 и ↓9+68
Комментарии35

Узнать возраст пользователя VK или о чём ещё может рассказать социальный граф

Время на прочтение5 мин
Количество просмотров37K
«Скажи мне кто твой друг и я скажу, кто ты.»
Еврипид 480—406 до н. э.

Долгое время я смотрел на API VK как кот на стиральную машину — меня гипнотизировала возможность провести какое-нибудь исследование в одной из крупнейших социальных сетей, которая проникла во многие сферы нашей жизни. И вот однажды родился вопрос, а можно ли по кругу общения пользователя социальной сети определить его возраст?


Можно, вот с такусенькой ошибкой
Всего голосов 70: ↑62 и ↓8+54
Комментарии29

Как вызывать методы audio vk

Время на прочтение72 мин
Количество просмотров14K

Как все начиналось:


Дело было вечером, делать было нечего… И я решил полазить по методам vk_api.


Наткнулся на интересный метод «execute».

Получилось отправить себе подарок:

Код
var gift = 813; 
return API.gifts.send(
{
user_ids:API.users.get()[0].id,
gift_id:gift,
guid:API.apps.getRandomInt({max:99999})
});



А дальше мне пришла мысль, что если внутри этого метода можно вызывать методы, которые в официальном API вызывать нельзя, то наверное, можно вызвать метод audio.get.

Результат

Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии14

Получение ссылок на аудио без VKApi

Время на прочтение3 мин
Количество просмотров43K
Данная страница будет полезной для тех, кто решил взять заказ на парсер аудио-треков VK и резко понял, что ничего не понял.

В чем проблема


Знакомо?

https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=AeL2rMfFyZzlD3HkyvfnvNvLx1KOqw5UDfuXCOTvttm4ts1OBJnYELvHyxvODI9fnM9YztD5A3iOyI14sxv2mNiXt3iTzdLInduXzvG9C2uVr3b5mezinfj2lJbpDhGYC25rDxbwsOPQmg1eu2Pbyxr3ntPowNLhDMrrDs8XnKu2sOuOyO8XzMf1otDmBtL6BNvllNjZx3aZuLHpq3aOBvvhzenJnZKTzKnMuwfKBI4TquffrtzKv2nymMyVDu1LzJnuwMLxwMm/BeTcserWlun3ExLVBG#AqSZntu

Если да — то вы пытались парсить мобильную версию сайта и успешно доставали ссылки. Неверные ссылки. Ссылки на 25-секундный голос, сообщающий что все идет не по плану.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии41

FindFace закроетcя для простых смертных

Время на прочтение2 мин
Количество просмотров156K
Разработчики сервиса FindFace, с помощью которого можно по фотографии находить людей «ВКонтакте», объявили о прекращении работы над его общедоступной версией и ее поэтапном отключении с 1 июля.

Проект пытались подать публике как «инновационный сервис знакомств с двойниками известных людей» за 150 рублей в месяц, но использовался он не только в «амурных делах», а еще например, пользователями «Двача» для деанонимизации и преследования порноактрис и поиска как преступников, так и просто участников оппозиционных митингов.

image
Читать дальше →
Всего голосов 70: ↑68 и ↓2+66
Комментарии127

Безлимитное распознавание речи. Или как я перевожу в боте голосовые сообщения в текст

Время на прочтение5 мин
Количество просмотров45K
Привет, Хабр. Обычно я пишу программы для неговорящих людей, но решил удариться в крайности и сделать продукт для говорящих людей. Я хочу рассказать о разработке бота для VK, который переводит пересланные ему голосовые сообщения в текст. Сначала я использовал Yandex SpeechKit, но потом уперся в дневной лимит распознаваемых единиц и перешел на wit.ai, об этом и хочу рассказать, а также о фреймворке для создания ботов vk с помощью node.js, болтовне гугловского dialogflow.

Обложка статьи на которой показан скришот сайта wit.ai
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии7

VK Streaming API Contest

Время на прочтение1 мин
Количество просмотров11K
Привет! Мы запустили бета-тестирование нового продукта для получения публичных данных из ВКонтакте в реальном времени — Streaming API.



Он призван заменить методы публичного API для поиска и парсинга данных (newsfeed.search, wall.search, wall.get) и стать более удобным решением задачи аналитики упоминаний в соцсети.

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии7

Как выигрывать в конкурсах репостов Вконтакте?

Время на прочтение4 мин
Количество просмотров143K

Мне захотелось узнать, реально ли выиграть в конкурсах репостов ВКонтакте.

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

Идея простая, берем модуль vk_api для Python и официальную документацию Vkontakte API отправляем запрос:

pool.method('newsfeed.search', {'q':u'Конкурс репост подарки <мой_город>'})
и репостим через wall.repost все что нашли себе на страницу и вступаем в группы методом groups.join

Что из этого получилось, с какими проблемами я столкнулся, читаем под катом
Читать дальше →
Всего голосов 123: ↑118 и ↓5+113
Комментарии90

Создаём динамическую обложку ВКонтакте

Время на прочтение5 мин
Количество просмотров115K
В последнее время всё большую популярность обретают различные интерактивные способы завлечь аудиторию и привлечь к себе больше внимания. Тут и боты для социальных сетей и мессенджеров, и другие решения, придающие «уникальности». Среди них можно выделить и динамические обложки для сообществ, официально поддерживать которые ВКонтакте начали в марте.

Почему я решил написать эту небольшую статью? Хотя ажиотаж вокруг этой темы и спал, всё равно она остаётся довольно популярной, находятся как «клиенты», готовые платить очень большие деньги, так и желающие научиться это делать самому. Я работал с одной «студией», которая берет шестизначные суммы за эту работу, при этом кидая своих разработчиков и мелких клиентов. Так вот, чтобы в этой сфере не было монополии, и все увидели, насколько легко это делается, я и решил написать статью.


На примере моего пустого сообщества-песочницы
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии46

Ближайшие события

Как я создал SaaS-сервис, который приносит мне 1000 долларов в месяц

Время на прочтение6 мин
Количество просмотров63K
Примечание: здесь рассказано о создании с нуля небольшого, прибыльного SaaS-сервиса и о доведении его до состояния, когда он стал приносить 1 000 долларов в месяц. Это не имеет никакого отношения к многомиллиардным стартапам единорогов; я просто описываю мой опыт такой работы. Речь идёт о простом, надёжном и прибыльном инструменте, который может сделать для себя любой человек. И последнее — этот веб-сервис был сделан для внутреннего рынка России, поэтому я перевёл всё на английский и в доллары для удобства. Но, с другой стороны, этот опыт является довольно универсальным и может быть применён везде (ссылка на сервис).

Всё началось с моего другого SaaS-сервиса с названием Postio, который я сделал, чтобы облегчить людям поиск и публикацию контента на их страницах и в их группах в социальных сетях. В рамках своей маркетинговой стратегии я приобрёл и опубликовал на своём блоге десяток статей по различным темам, ориентированных на аудиторию веб-сервиса, чтобы получить дополнительный трафик с поисковых систем.

Потом вдруг Postio начал получать относительно большой трафик от Google и Яндекс (русская поисковая система) с ключевыми словами, которые не имели ничего общего с самим Postio.

image

Аналитическая статистика Гугл по суточному трафику

Здесь-то и начинается фактическая история.
Читать дальше →
Всего голосов 83: ↑73 и ↓10+63
Комментарии37

После логаута пользователя VK можно получить управление его страницей

Время на прочтение2 мин
Количество просмотров74K
Решил попробовать себя в работе с API Вконтакте и наткнулся на интересную особенность.

Один из способов авторизации в API — это OAuth. Вкратце всё происходит так: создаёте приложение ВК, получаете его ID, а затем отправляете браузер пользователя на адрес:

				https://oauth.vk.com/authorize"
					+ "?client_id=123"    // ID вашего приложения
					+ "&display=page"
					+ "&redirect_uri=https://oauth.vk.com/blank.html"    // URL, на который попадёт пользователь после успешной авторизации. ВК требует указания этого сайта в настройках приложения и только для приложения типа Сайт. Для остальных работает только указанный УРЛ, в целях безопасности
					+ "&scope= права доступа"
					+ "&response_type=token"
					+ "&v=5.52"
					+ "&state=123456"

Это авторизация методом Implicit flow.

Если пользователь залогинен, ему будет сразу предложено установить приложение, если нет — вначале залогиниться, а уже потом устанавливать. Если приложение уже установлено, то идёт сразу переход на страницу, в хэше которой будет токен. Дальше идёт работа с API.
Читать дальше →
Всего голосов 63: ↑55 и ↓8+47
Комментарии75

Администраторы групп в vk всегда были в открытом доступе

Время на прочтение4 мин
Количество просмотров71K
Ранее я уже писал один пост на geektimes о том, что истинно анонимных пабликов в ВК не было до 29.10.14. Но как оказалось, я ошибался на счет даты. И не до конца осознал всю суть существующей проблемы анонимности.
Читать дальше →
Всего голосов 119: ↑101 и ↓18+83
Комментарии70

Уязвимость ВКонтакте: доступ к превью фотографий из диалогов и скрытых альбомов любого пользователя

Время на прочтение3 мин
Количество просмотров107K

Коротко


Была обнаружена уязвимость в мобильной версии сайта vk.com. Она позволяла просматривать превью скрытых фотографий, в том числе фотографии из диалогов пользователей, плюс можно было получить информацию о пользователях лайкнувших это скрытое фото. На данный момент уязвимости уже нет — её устранили полгода назад. ВКонтакте выразили благодарность в размере 700$ (нет, не в голосах).
Подробнее
Всего голосов 66: ↑58 и ↓8+50
Комментарии6

Сравнение аудитории Хабрахабра, Гиктаймса и Мегамозга

Время на прочтение10 мин
Количество просмотров34K
Привет, Хабр!
Год назад я писал статью о том, кто и как подписан на Хабрахабр в соцсети Вконтакте. Буквально в первых же комментариях к тому посту было выражено пожелание увидеть разницу между подписчиками Geektimes и собственно Хабра. Прошел всего год и я, поборов свою лень, это желание исполняю.

На самом деле у моей медлительности были и объективные причины – в январе запустился Мегамозг, и стало очевидным, что сравнение надо делать по всем трем сайтам. А для этого необходимо было подождать хотя бы полгода с момента окончательного разделения Хабра.

В этой статье не будет очередных статистических выкладок о том, в какой день недели пост на Хабре получает наилучший рейтинг, а в какой собирает мало комментов — про это уже все сказано задолго до меня. Зато под катом мы попытаемся понять, как отличаются аудитории «хабровых» пабликов по различным параметрам (от пола до отношения к вредным привычкам), и есть ли связь между поведением пользователей в VK и на самих сайтах.


Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии121

Как я много раз не бросил разработку своей второй игры

Время на прочтение15 мин
Количество просмотров43K

Картинка для привлечения внимания

Успокоившись после шока из-за того, что моя первая игра не взорвала интернет, я решил сделать еще одну. Первая мысль, с которой началась разработка второй игры, возникла в голове и без обдумывания стала краеугольным камнем в фундаменте игры: «если игра с бесконечным геймплеем не стала популярной, то нужно делать контенто-зависимую игру с уровнями».

Так как небольшой опыт создания игры у меня уже был, я вооружился не клавиатурой, как в прошлый раз, а карандашом и бумагой, и принялся «придумывать» игру. На разных листах А4 я записывал свои мысли по разным направлениям: игровые механики, сеттинг, интерфейс, правила, интересные мысли, запомнившиеся игры из детства и т. п.; при этом я параллельно шерстил Google Play Market в поисках вдохновения. В итоге, спустя несколько дней, было принято решение, что игра станет головоломкой, а именно — пазлом. За это время мой мозг и пальцы заскучали по программированию, в результате чего захотелось сделать хоть какой-нибудь прототип игры. Это сподвигло меня на более интенсивную проработку идеи пазла, и в итоге в качестве рабочего был принят вариант со следующими правилами: игровое поле состоит из квадратных кусочков пазла (далее они будут называться тайлами), на которых располагаются разноцветные линии; тайлы можно менять местами; цель игры: собрать пазл единственным образом, в котором линии одного цвета замкнуты в некий узор.
Продолжить создавать игру
Всего голосов 75: ↑67 и ↓8+59
Комментарии33

CSRF-уязвимость VK Open Api, позволяющая получать Access Token’ы сторонних сайтов, использующих авторизацию через VK

Время на прочтение14 мин
Количество просмотров38K
Представляю вашему вниманию обзор уязвимости, связанной с неправильным применением JSONP в VK Open Api. На мой взгляд, уязвимость достаточно серьёзная, т.к. позволяла сайту злоумышленника получать Access Token другого сайта, если на нём используется авторизация через библиотеку VK Open API. На данный момент уязвимый код поправили, репорт на HackerOne закрыли, вознаграждение выплатили (1,500$).

Как это выглядело


В принципе, процесс получения пользовательского Access Token'а страницей злоумышленника происходил по стандартной схеме эксплуатации CSRF-уязвимости:

  1. Пользователь заходит на сайт, использующий библиотеку VK Open API (например, www.another-test-domain.com).
  2. Авторизуется там через VK.
  3. Потом заходит на сайт злоумышленника (например, www.vk-test-auth.com), который, эксплуатируя уязвимость, получает Access Token, принадлежащий сайту www.another-test-domain.com.
  4. Получив Access Token пользователя, злоумышленник может обращаться к VK API с теми правами, который пользователь дал сайту www.another-test-domain.com при авторизации на нем через VK.

Демонстрация


На видео показано, как страница «злоумышленника» на домене www.vk-test-auth.com получает Access Token пользователя VK, который авторизовался на сайте www.another-test-domain.com, несмотря на то, что в настройках приложения VK, доступ разрешён только для домена www.another-test-domain.com.


Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии17
1