Запрашивает доступ к вашему аккаунту вконтакте: Еще раз о приватности в Вконтакте / Хабр

Инструкция для параноиков: как отключить приложения, которые за вами следят

Аккаунты в Google и в «ВКонтакте» предоставляют доступ к вашим данным для десятков приложений и сайтов. В инструкции объясняем, почему нужно внимательно относиться к предоставляемой информации и как закрыть доступ подозрительным приложениям.

Через сторонние приложения продают данные

На этой неделе издание The New York Times сообщило, что аналитическая компания Slice Intelligence продавала переписку владельцев почты на Gmail с помощью приложения Unroll.me для отписки от рассылок. Удобный и простой сервис помогал отобразить все мусорные рассылки, на которые подписан аккаунт, и предлагал избавиться от всех них одним кликом. Единственным условием было то, что пользователи должны были открыть доступ к основной информации аккаунта Google, списку контактов и почте Gmail (не к адресу, а к самой почте). С этими разрешениями Slice Intelligence извлекала из переписки заказы в магазинах и чеки на покупки, а потом продавала их другим компаниям. Так, например, Uber попросила найти чеки на поездки у своего конкурента Lyft, и Slice Intelligence предоставила такую информацию.

Соцсети часто взламывают через слабо защищенные сторонние приложения

В прошлом месяце хакеры публиковали нацистские твиты в аккаунтах Forbes, Amnesty International и североамериканского BBC. Взломаны были не сами твиттеры, а связанные с ними аккаунты в сервисе Twitter Counter, у которого было разрешение публиковать твиты. Два года назад кто-то взломал приложение Snapsaved и украл 90 тысяч фотографий из Snapchat.

Есть много способов взлома: хакеры из группы OurMine, которая получала доступ к твиттерам главы Facebook Марка Цукерберга и главы Google Сундара Пичаи, признавались, что заходили в чужие аккаунты через сайты Quora, Bitly, Sprout Social и многие другие.

Иногда приложения запрашивают слишком много разрешений

Популярное приложение Meitu, которое делает всех милыми, просило доступ к данным, которые не нужны для его работы: о местоположении, соединении через Wi-Fi, сотовой сети, сим-карте, джейлбрейке устройства, личном идентификаторе. Игра Pokémon Go некоторое время запрашивала полный доступ к аккаунту Google: к документам, почте, контактам, Hangouts. Такой доступ имеет браузер Google Chrome.

Доступ к информации аккаунтов в социальных сетях имеют десятки сайтов. Мы открываем доступ разным сервисам и сайтам и тут же забываем об этом. Два года назад вы, например, авторизовались на сайте с недвижимостью или в каком-нибудь конкурсе, но доступ к имени, возрасту, открытой информации из Facebook и адресу почты они имеют до сих пор. То, как именно компания пользуется своей базой и насколько хорошо ее защищает от хакерских атак, — все это остается на ее совести. Вовсе не обязательно, что она умышленно может нанести вам вред, но ее сайт вполне может иметь уязвимости и ставить ваши данные под угрозу. Чем больше приложений подключено к аккаунту, тем выше вероятность, что одно из них взломают. Обращайте внимание на приложения, чьи названия и назначение не можете вспомнить — если не пользуетесь, то зачем оставлять у них данные.

Во время подготовки материала из аккаунта в «ВКонтакте» были удалены полтора десятка неизвестных приложений, в Twitter закрыт доступ 13 приложениям с разрешением писать твиты, в Dropbox и Google — к давно проданным ноутбуку и смартфону.

«ВКонтакте»

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

Instagram

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

Google

Разрешения для всех сервисов собраны в одном месте — в пункте «Связанные приложения и сайты» на странице аккаунта Google. Там же приведен список устройств с доступом к аккаунту. Возможно, найдете в нем старые смартфоны и проданные смартфоны.

Facebook

У социальной сети гибкая система. Есть обязательные разрешения, без которых приложение не будет работать (обычно это имя, возраст, пол и вся открытая информация), и все остальные, например, просмотр списка друзей, адреса почты, текущего города, лайков, возможность размещать посты. Последние разрешено отключить. Может, это урежет функции приложения, а может, ни на что не повлияет. На той же странице отключаются уведомления из приложений и игр, указывается информация, которую заносят в приложения знакомые. Если сторонние приложения не нужны, отключите все (кнопка после списка). Все это делайте в настройках во вкладке «Приложения».

Twitter

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

Microsoft Windows

Учетную запись Microsoft используют в веб-приложениях (например, Feedly), в приложениях для Windows 10 (например, Wunderlist) и Windows Phone. Они запрашивают автоматический вход в аккаунт, доступ к сведениям в любое время, к контактам, к другим приложениям Microsoft (OneDrive, OneNote) и другие разрешения. Список приложений ищите на странице аккаунта во вкладке «Безопасность».

Dropbox

Разрешения Dropbox выдают на доступ к загруженным файлам и папкам. Приложение имеет или доступ ко всем файлам и папкам, или ко всем файлам одного типа (например, фотографиям), или к файлам, выбранные владельцем. Опционально Dropbox дает доступ к адресу почты. На той же странице указаны устройства с доступом к облаку. Приложения смотрите в настройках во вкладке «Безопасность».

Android

С версии Android 6.0 Marshmallow операционная система выдает разрешения тогда, когда их запрашивают. Приложение для обработки фотографий попросит доступ к камере перед началом съемки, а к памяти — когда будет сохранять снимок. Разрешения указаны в карточках в пункте «Приложения» в настройках. Если их отозвать, приложение снова запросит, когда понадобится.

В настройках во вкладке «Конфиденциальность» перечислены функции, к которым получают доступ сторонние приложения: контакты, календарь, фотографии, социальные сети. В каждом пункте указаны приложения с соответствующим доступом. Они включаются и выключаются по желанию владельца айфона.

Mail.Ru

В настройках перечислены сайты, на которые зашли с помощью аккаунта Mail.Ru. Отдельные разрешения в списке не указаны. Ищите список в настройках во вкладке «Сайты» (эти настройки доступны из «Моего мира», но недоступны с Mail.Ru).

Если приложение запрашивает разрешение на отслеживание ваших действий

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

В ОС iOS 14.5, iPadOS 14.5 и tvOS 14.5 или более поздних версий приложения должны получить разрешение, прежде чем начать отслеживать ваши действия в приложениях и на веб-сайтах других компаний. Отслеживание означает, что собранная в приложении информация, которая идентифицирует вас или ваше устройство, соотносится с информацией, которая также идентифицирует вас или ваше устройство и была собрана в приложениях, на веб-сайтах или в других местах, принадлежащих третьим сторонам. Это делается для того, чтобы предложить вам целевую рекламу, провести оценку рекламной кампании или предоставить собранную информацию брокерам данных.

Узнайте больше об отслеживании в приложениях и других настройках конфиденциальности

 

Если приложение запрашивает разрешение на отслеживание ваших действий

Если вы видите запрос на отслеживание ваших действий, вы можете нажать «Разрешить» или «Попросить приложение не отслеживать». Вы по-прежнему сможете пользоваться всеми возможностями приложения независимо от того, разрешили ли вы отслеживать свои действия.

Разработчик приложения может изменить часть сообщения, чтобы объяснить, зачем приложение будет отслеживать ваши действия. Вы также можете посетить страницу приложения в App Store, чтобы получить сведения о том, как разработчик использует ваши данные.

Если вы выберете «Попросить приложение не отслеживать», разработчик приложения не сможет получить доступ к рекламному идентификатору системы (IDFA), который часто используется для отслеживания. Приложению также не будет разрешено отслеживать ваши действия с помощью другой информации, которая идентифицирует вас или ваше устройство, такой как адрес электронной почты.

Управление разрешениями на отслеживание действий

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

  1. Перейдите в настройки конфиденциальности, чтобы увидеть список приложений, запросивших разрешение на отслеживание ваших действий. 
    • На устройстве iPhone, iPad или iPod touch перейдите в меню «Настройки» > «Конфиденциальность и безопасность»* > «Отслеживание».  
    • На устройстве Apple TV перейдите в меню «Настройки» > «Основные» > «Конфиденциальность» > «Отслеживание». 
  2. Нажимайте переключатель, чтобы разрешить или запретить отслеживание для конкретного приложения.

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

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

* В более ранних версиях ОС iOS и iPadOS эта настройка называется «Конфиденциальность».

Если не удается включить настройку «Трекинг-запросы приложениями»

Иногда настройку «Трекинг-запросы приложениями» включить нельзя, например в следующих случаях.  

  • Для пользователей с учетной записью ребенка или лиц младше 18 лет, выполнивших вход с помощью своего идентификатора Apple ID*
  • Если ваш идентификатор Apple ID управляется образовательным или бизнес-учреждением
  • Если ваше устройство управляется профилем конфигурации, который ограничивает отслеживание, и использует его
  • Если ваш идентификатор Apple ID был создан менее трех дней назад

Когда эта настройка отключена, приложения, запрашивающие разрешение на отслеживание действий, не могут получить доступ к рекламному идентификатору (IDFA). Если статус вашей учетной записи или устройства изменится и впоследствии вы включите настройку «Трекинг-запросы приложениями», то при получении следующего запроса на отслеживание от приложения вы увидите запрос на подтверждение разрешения.

* Возраст пользователя учетной записи ребенка отличается в зависимости от страны и региона. 

 

Дата публикации: 

аутентификация — Вход в вк на питоне

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

спросил

Изменено
6 лет, 7 месяцев назад

Просмотрено
3к раз

Хочу войти в Вк.ком на питоне. Я не хочу использовать механизацию, саржу или что-то в этом роде. Я хочу использовать только запросы или urllib.

Это мой код, который я использую для входа в систему, но не удалось:

 запросов на импорт
login_url = 'https://login.vk.com/?act=логин'
полезная нагрузка = {'электронная почта':'ЭЛЕКТРОННАЯ ПОЧТА','пароль':'ПАРОЛЬ'}
результат = запросы.получить(логин_url,данные=полезная нагрузка).контент
 

Я также пытаюсь использовать эту полезную нагрузку:

 полезная нагрузка = {'role':'al_frame','expire':'1','captcha_sid':'','captcha_key':'','_origin':'https %3A%2F%2Fvk. com','ip_h':'1bab73f98c2a0d4319','lg_h':'b2765a98e04fead77c','email':'EMAIL','password':'PASSWORD'}
 

Но оба не смогли войти в Вк.ком. Как я могу войти на сайт?

  • python
  • аутентификация
  • веб-скрейпинг
  • python-запросы
  • vk

После нескольких часов работы над этим, в конце концов, я нашел решение для него.

 запросов на импорт
из bs4 импортировать BeautifulSoup как bs
headers={"Referer":"https://m.vk.com/login?role=fast&to=&s=1&m=1&email=ВАШ_ЭЛЕКТРОННАЯ ПОЧТА"
, 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0'}
полезная нагрузка = {'электронная почта':'ВАША ЭЛЕКТРОННАЯ ПОЧТА','пароль':'ПАРОЛЬ'}
с request.Session() как S:
    страница = S.get('https://m.vk.com/login')
    суп = bs(page.content,'lxml')
    url = суп.найти('форма')['действие']
    p = S.post (url, данные = полезная нагрузка, заголовки = заголовки)
    #ТЕПЕРЬ ВЫ УСПЕШНО ВХОДИЛИ В УСЛУГИ
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

Сбор данных по рекламным кампаниям с ВКонтакте | Илья Бондарев | LEFT JOIN

Опубликовано в

·

Чтение: 6 мин.

·

26 мая 2020 г.

Нам есть чем поделиться в сегодняшнем лонгриде: мы получим данные о рекламных кампаниях из V контакте (широко популярная социальная сеть в России и странах СНГ) и сравнить их с данными Google Analytics в Redash. На этот раз нам не нужно создавать сервер, так как наши данные будут передаваться в Google Docs через Google Sheets API.

Получение токена доступа
Нам нужно создать приложение для получения токена доступа. Перейдите по этой ссылке https://vk.com/apps?act=manage и нажмите «Создать приложение» на странице разработчика. Выберите имя для своего приложения и отметьте его как «Автономное приложение». Затем нажмите «Настройки» в меню слева и сохраните свой идентификатор приложения.

Подробнее о токенах доступа можно узнать здесь: «Получение токена доступа»

Скопировать эту ссылку:

 https://oauth. vk.com/authorize?client_id=YourClientID&scope=ads&response_type=token 

И измените YourClientID на ID вашего приложения, это позволит вам получить информацию о вашем рекламном аккаунте. Откройте эту ссылку в своем браузере, и вы будете перенаправлены на другую страницу, URL-адрес которой содержит сгенерированный вами токен доступа.

Вам также потребуется идентификатор вашего рекламного аккаунта, чтобы делать запросы к API. Его можно найти по этой ссылке, просто скопируйте: https://vk.com/ads?act=settings

Токен доступа действует через 86400 секунд или 24 часа. Если вы хотите сгенерировать токен с неограниченным сроком действия, просто передайте область видимости в параметр offline. Если вам нужно сгенерировать новый токен — смените пароль учетной записи или завершите все активные сессии в настройках безопасности.

Использование API для сбора данных
Напишем скрипт, который позволит получать информацию обо всех рекламных кампаниях пользователя: количество показов, кликов и затрат. Скрипт передаст эти данные в DataFrame и отправит их в Google Docs.

 from oauth3client.service_account import ServiceAccountCredentials from pandas import DataFrame 
import request
import gspread
import time

У нас есть несколько постоянных переменных: токен доступа, идентификатор рекламного аккаунта и версия API Вконтакте. Здесь мы используем самую последнюю версию API — 5.103.

 token = 'fa258683fd418fafcab1fb1d41da4ec6cc62f60e152a63140c130a730829b1e0bc' version = 5.103 
id_rk = 123456789

Для получения рекламы stats вам нужно использовать метод ads.getStatistics и передать ему идентификатор вашей рекламной кампании. Поскольку мы еще не запускаем рекламу, мы будем использовать метод ads.getAds, который возвращает идентификаторы объявлений и кампаний.

Используйте библиотеку запросов, чтобы отправить запрос и преобразовать ответ в JSON.

Подробнее о методах API доступных для Вконтакте здесь

 id_кампании = [] 
ads_ids = []
r = request. get('https://api.vk.com/method/ads.getAds',
params={'access_token': token,
'v ': версия,
'account_id': id_rk
})
data = r.json()['response']

У нас есть знакомый список возвращенных словарей, похожий на тот, который мы рассмотрели в предыдущей статье: Анализ данных по рекламным кампаниям Facebook с помощью Redash».

Заполните словарь ad_campaign_dict следующим образом: в качестве ключа укажите ID объявления, а в качестве значения ID кампании, которой принадлежит данное объявление.

 ad_campaign_dict = {} 
для i в диапазоне (len(data)):
ad_campaign_dict[data[i]['id']] = data[i]['campaign_id']

Имея идентификатор для каждого необходимого объявления, мы может вызвать метод ads.getStatistics для сбора данных о количестве показов, кликов, затратах и ​​датах для конкретного объявления, поэтому заранее создайте несколько пустых списков.

 ads_campaign_list = [] 
ads_id_list = []
ads_impressions_list = []
ads_clicks_list = []
ads_spent_list = []
ads_day_start_list = []
ads_day_end_list = []

Нам нужно вызвать метод getStatistics для каждого объявления отдельно, давайте обратимся к ad_campaign_dict и повторим наши запросы. Получите данные за все время, вызвав метод «период» с «общим» значением. Некоторые объявления могут не иметь показов или кликов, если они еще не запущены, это может вызвать KeyError. Давайте вспомним попытку — кроме подхода к обработке этой ошибки.

 для ad_id в ad_campaign_dict: 
r = request.get('https://api.vk.com/method/ads.getStatistics',
params={'access_token': токен,
'v': версия,
'account_id': id_rk,
'ids_type': 'ad',
'ids': ad_id,
'период': 'всего',
'date_from': '0',
'date_to': '0'
})
попытка:
data_stats = r.json()['response']
для i в диапазоне (len(data_stats)):
для j в диапазоне (len(data_stats[i]['stats'])):
ads_impressions_list.append(data_stats[i]['stats'][j]['impressions'])
ads_clicks_list.append(data_stats[ i]['stats'][j]['clicks'])
ads_spent_list.append(data_stats[i]['stats'][j]['spent'])
ads_day_start_list.append(data_stats[i][' stats'][j]['day_from'])
ads_day_end_list. append(data_stats[i]['stats'][j]['day_to'])
ads_id_list.append(data_stats[i]['id'])
ads_campaign_list.append(ad_campaign_dict
[ad_id])
кроме KeyError:
continue

Теперь создайте DataFrame и распечатайте первые 5 точек данных

 df = DataFrame() 
df['campaign_id'] = ads_campaign_list
df['ad_id'] = ads_id_list
df['impressions'] = ads_impressions_list
df['clicks'] = ads_clicks_list
df['spent'] = ads_spent_list
df['day_start'] = ads_day_start_list
df['day_end'] = ads_day_end_list
печать (дф .голова())

Экспорт данных в Документы Google
Нам понадобится токен доступа к API Google, перейдите на https://console.developers.google.com и создайте его. Выберите любое имя, которое вам нравится, затем перейдите на панель инструментов и нажмите «Включить API и службы». Выберите Google Drive API из списка, включите его и сделайте то же самое для Google Sheets API.

После активации вы будете перенаправлены в панель управления API. Нажмите «Учетные данные» — «Создать учетные данные», нажмите «Выбрать тип данных» и создайте учетную запись. Выбор роли не является обязательным, просто продолжайте и укажите JSON в качестве типа ключа.

После этих шагов вы можете загрузить файл JSON с вашими учетными данными, мы переименуем его в «credentials.json». На главной странице вы найдете поле электронной почты — скопируйте свой адрес электронной почты.

Перейдите на https://docs.google.com/spreadsheets и создайте новый файл с именем data, в него мы будем передавать данные из нашего DataFrame. Поместите файл учетных данных.json в один каталог со скриптом и продолжайте писать код. Добавьте эти ссылки в список областей:

 scope = ['https://spreadsheets.google.com/feeds', 
'https://www.googleapis.com/auth/drive']

Для процесса аутентификации мы будем использовать методы ServiceAccountCredentials.from_json_keyfile_name и gspread.authorize, доступные в библиотеках oauth3client и gspread. Укажите имя файла и переменную области действия в методе ServiceAccountCredentials. from_json_keyfile_name. Переменная листа позволит нам отправлять запросы к нашему файлу в Документах Google.

 кредитов = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', область действия) 
клиент = gspread.authorize(creds)
лист = client.open('data').sheet1

Примените метод update_cell для ввода нового значения в ячейку таблицы. Стоит отметить, что индексация начинается с 0, а не с 1. В первом цикле мы будем перемещать имена столбцов нашего DataFrame. И с помощью следующих циклов мы переместим остальные наши точки данных. Ограничения по умолчанию позволяют нам сделать 100 циклов за 100 секунд. Эти ограничения могут привести к ошибкам и остановке нашего скрипта, поэтому нам нужно использовать time.sleep и переводить скрипт в спящий режим на 1 секунду после каждого цикла.

 count_of_rows = len(df) 
count_of_columns = len(df.columns)
для i в диапазоне (count_of_columns):
sheet.update_cell(1, i + 1, list(df.columns)[i])
для i в диапазоне (1, count_of_rows + 1):
для j в диапазоне (count_of_columns):
sheet. update_cell (i + 1, j + 1, str (df.iloc [i, j]))
time.sleep (1 )

В случае успеха вы получите ту же таблицу:

Экспорт данных в Redash

Как подключить Google Analytics к Redash смотрите в статье «Как подключить Google Analytics к Redash?».

Имея таблицу с Google Analytics и экспортированные рекламные кампании из Вконтакте, мы можем сравнить их, написав следующий запрос:

 SELECT 
query_50.day_start,
CASE WHEN ga_source LIKE '%vk%' THEN 'vk.com' END Источник AS,
query_50.spent,
query_50.impressions,
query_50.clicks,
SUM(query_49.ga_sessions) AS сеансы,
SUM(query_49.ga_newUsers) AS пользователи
FROM query_49
JOIN query_50 900 81 ВКЛ query_49.ga_date = query_50 .day_start
ГДЕ query_49.ga_source LIKE '%vk%' И ДАТА(query_49.ga_date) МЕЖДУ '2020–05–16' И '2020–05–20'
ГРУППИРОВАТЬ ПО query_49.ga_date, source

ga_source — источник трафика, с которого был перенаправлен пользователь.