Как включить двухфакторную аутентификацию аккаунта ВКонтакте | Настройка серверов windows и linux

Основные плюсы идентификации

Преимущества имеют как владельцы сайта, так и его пользователи. Для владельца преимуществом являются:

Авторизация — что это такое?

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

Авторизация на сайте с помощью вк, простой и понятный способ на php! »

Статьи / PHP

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux

В данной статье Вас ждет действительно рабочий,а самое главное понятный туториал, как сделать авторизацию с помощью ВК!

Я заинтересовался как сделать авторизацию, почитав официальную документацию понял, что ничего не понял. и так давайте приступим. 

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

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

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
Отлично, нажимаем подключить сайт.

3. Переходим в настройки приложения, копируем ID приложения и Защищенный ключ, сохраняем куда-нибудь и на этом работа на стороне ВК окончена, переходим к написанию скрипта.
Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
4. Теперь самое интересное, нам нужно написать скрипт (обработчик), давайте создадим на нашем сервере в корне сайта файл auth.php и приступим к его редактированию. Хочу отметить, что на локальном сервере (OpenServer) авторизация работать не будет!
Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
Открываем файл, я использую для этого PHPStorm и давайте создадим несколько переменных с пояснениями:

$client_id = 7157110; // ID приложения
$client_secret = 'ESlBJHmVMbeh8IVLiBDv'; // Защищённый ключ
$redirect_uri = 'http://royera.ru/auth.php'; // Адрес сайта

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux

Тут все понятно, подставляем параметры из нашего приложения, ссылку указывать полностью, где лежит сам скрипт.

Далее формируем ссылку, которая будет ввести на сайт ВК с передаваемыми параметрами:

    $url = 'http://oauth.vk.com/authorize'; // Ссылка для авторизации на стороне ВК

    $params = [ 'client_id' => $client_id, 'redirect_uri'  => $redirect_uri, 'response_type' => 'code']; // Массив данных, который нужно передать для ВК содержит ИД приложения код, ссылку для редиректа и запрос code для дальнейшей авторизации токеном

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux

echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';

 Теперь можно открыть сайт скопировав $redirect_uri

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
Ссылка сформирована, теперь нужно получить и обработать ответ от ВК, после того как пользователь перешел по ссылке:

if (isset($_GET['code'])) {
    $result = true;
    $params = [
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'code' => $_GET['code'],
        'redirect_uri' => $redirect_uri
    ];

    $token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);

    if (isset($token['access_token'])) {
        $params = [
            'uids' => $token['user_id'],
            'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
            'access_token' => $token['access_token'],
            'v' => '5.101'];

        $userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
        if (isset($userInfo['response'][0]['id'])) {
            $userInfo = $userInfo['response'][0];
            $result = true;
        }
    }

    if ($result) {
        echo "ID пользователя: " . $userInfo['id'] . '<br />';
        echo "Имя пользователя: " . $userInfo['first_name'] . '<br />';
        echo "Ссылка на профиль: " . $userInfo['screen_name'] . '<br />';
        echo "Пол: " . $userInfo['sex'] . '<br />';
        echo "День Рождения: " . $userInfo['bdate'] . '<br />';
        echo '<img src="' . $userInfo['photo_big'] . '" />'; echo "<br />";

    }
}

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
После того как пользователь перешел по ссылке и подтвердил передачу данных, Вам на сервер в GET запросе вернется code, используя его мы запрашиваем у ВК токен пользователя, отправляем запрос в ВК с параметрами указанные в массиве 

    $params = [
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'code' => $_GET['code'],
        'redirect_uri' => $redirect_uri
    ];

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

Теперь следующим запросом мы получаем данные о пользователе, используя его токен и обращаясь к API VK https://api.vk.com/method/users.get мы получаем json от VK, который мы можем распарсить. Давайте попробуем авторизоваться, заходим на нашу страницу и нажимаем авторизация:

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
Разрешаем и у нас на сайте появляются данные об аккаунте:

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux

Авторизация работает. Далее можете сохранить ID в сессию и проверять авторизован пользователь или нет. Давайте доработаем код:

В самый конец добавляем:

$_SESSION['id'] = $userInfo['id'];

А ссылку заменяем на:

    if(empty($_SESSION['id'])) {

        echo "Вы уже авторизованы";
        

    } else {


    echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
    }

Весь код:

<?php

$client_id = 7157110; // ID приложения
$client_secret = 'ESlBJHmVMbeh8IVLiBDv'; // Защищённый ключ
$redirect_uri = 'http://royera.ru/auth.php'; // Адрес сайта

$url = 'http://oauth.vk.com/authorize'; // Ссылка для авторизации на стороне ВК

$params = [ 'client_id' => $client_id, 'redirect_uri'  => $redirect_uri, 'response_type' => 'code']; // Массив данных, который нужно передать для ВК содержит ИД приложения код, ссылку для редиректа и запрос code для дальнейшей авторизации токеном

if(empty($_SESSION['id'])) {

    echo "Вы уже авторизованы";

} else {

    echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
}

if (isset($_GET['code'])) {
    $result = true;
    $params = [
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'code' => $_GET['code'],
        'redirect_uri' => $redirect_uri
    ];

    $token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);

    if (isset($token['access_token'])) {
        $params = [
            'uids' => $token['user_id'],
            'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
            'access_token' => $token['access_token'],
            'v' => '5.101'];

        $userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
        if (isset($userInfo['response'][0]['id'])) {
            $userInfo = $userInfo['response'][0];
            $result = true;
        }
    }

    if ($result) {
        echo "ID пользователя: " . $userInfo['id'] . '<br />';
        echo "Имя пользователя: " . $userInfo['first_name'] . '<br />';
        echo "Ссылка на профиль: " . $userInfo['screen_name'] . '<br />';
        echo "Пол: " . $userInfo['sex'] . '<br />';
        echo "День Рождения: " . $userInfo['bdate'] . '<br />';
        echo '<img src="' . $userInfo['photo_big'] . '" />'; echo "<br />";

    }
}

$_SESSION['id'] = $userInfo['id'];

Как включить двухфакторную аутентификацию аккаунта ВКонтакте  | Настройка серверов windows и linux
Авторизация через ВК готова! Скачать исходник можно ниже

Похожее:  Asterisk Tutorial 56 — Asterisk AMI Configuration | by pascom | Medium

auth.rar

Остались вопросы? Задавай в комментарии, всегда рады помочь!

Буржуазный, через веб-компоненты

Если вы решили пойти по этому пути, то вам потребуется использовать какую-либо стороннюю GUI-библиотеку (или по крайней мере JavaFX), у которой в арсенале есть свой компонент браузера. Над таким бразуером ваша программа будет иметь полную власть, и вы сможете извлечь адрес, на который вас перенаправил ВК, программными средствами. На JavaFX это можно реализовать следующим образом:

Для чего нужна регистрация пользователя

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

Возникает вопрос: авторизация — что это и зачем лимитировать доступ при помощи нее? Ведь было бы намного проще предоставить возможности сайта всем пользователям. Тем более что процедура регистрации порой занимает не так уж и мало времени. Но есть одна весомая причина, по которой владельцы вводят авторизацию.

Данная информация передается добровольно, а также применяется исключительно с целью распознавания остальными посетителями.

Естественно, у регистрации существует множество других задач и функций, однако эти две наиболее важны.

Если у вас активен старый дизайн вконтакте

Заходим в раздел «Мои настройки

», вкладка «Приватность» и напротив самой нижней строчки «Кому в интернете видна моя страница» выставляем значение «Только пользователям ВКонтакте».

Чтобы проверить все ли вы сделали верно, сделайте следующее. Выберите в меню «Моя страница

», затем нажмите на «Выйти».

После этого должно появиться такое сообщение. «Страница доступна только авторизованным пользователям

Защищаемся от взлома при помощи подтверждения входа вконтакте

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

Двухфакторная авторизация или аутентификация – метод проверки личности пользователя при помощи дополнительного кода. Данный код приходит на телефон по смс, генерируется в специальном приложении или приходит на почтовый ящик. Чтобы получить данные коды, взломщик должен иметь физический доступ к телефону жертвы. Данная мера позволяет значительно обезопасить свою учетную запись и уберечь себя от взлома.

Как взламывают вконтакте?

Одна из моих подруг в социальной сети, Алиса Селезнева, добавила друзей в беседу с просьбой проголосовать за нее в конкурсе по ссылке. На первый взгляд ничего необычного – многие девушки участвуют в разнообразных конкурсах, обещающих разнообразные призы и часто обращаются к своим друзьям с просьбами отдать им свой голос или заветный лайк.

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

Жертва взлома репостит ссылку на документ. Группа, разместившая ссылку, явно создана наспех самим взломщиком – нечитабельное название, отсутствие аватарки просто кричит об этом.

При переходе по ссылке открывается офисный документ сервиса Word Online с еще одной ссылкой.

Данная ссылка ведет на простенький сайт, созданный всего неделю назад. На страничке бегло объявляют о розыгрыше дорогого смартфона, а среди конкурсантов Вы действительно видите имя и фамилию своей знакомой.

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

Как включить двухфакторную авторизацию вконтакте?

Идем на свою страницу, и переходим в раздел «Настройки».

Открываем вкладку «Безопасность». Здесь в разделе «Подтверждение входа», нажимаем кнопку «Подключить».

Откроется форма — в ней нажмите кнопку «Приступить к настройке».

Вас попросят заново ввести пароль от страницы (см. как поменять пароль в контакте). Сделайте это и нажмите кнопку «Подтвердить».

Похожее:  Sprinthost - Инструкции файла .htaccess

Получите код на ваш телефон, и укажите его в форме. Затем нажмите кнопку «Отправить код».

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

Как включить двухфакторную аутентификацию аккаунта вконтакте | настройка серверов windows и linux

Обновлено 15.10.2022

Добрый день уважаемые читатели блога vhod-v-lichnyj-kabinet.ru, сегодня хочу рассказать, как включить двухфакторную аутентификацию аккаунта ВКонтакте. Это руководство пригодится тем, кто хочет обезопасить свой аккаунт ВКонтакте от несанкционированного доступа.

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

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

сли вы дорожите своими данными, которые привязаны к вашей учетной записи, то вы должны немедленно включить двухфакторную аутентификацию аккаунта ВКонтакте. Заходим на сайт http://vk.com/ и указываем учетные данные от аккаунта ВКонтакте. Нажимаем на кнопку “Войти”.

Как включить двухфакторную аутентификацию аккаунта ВКонтакте -01

Как включить двухфакторную аутентификацию аккаунта ВКонтакте -01

Далее выбираем “Мои Настройки” и переходим на вкладку “Безопасность”. В разделе “Подтверждение входа” нажимаем на кнопку “Подключить”.

Читаем важную информацию о двухфакторной аутентификации и нажимаем на кнопку “Приступить к настройке”.

Указываем пароль от учетной записи ВКонтакте. Нажимаем на кнопку “Подтвердить”.

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

Теперь нужно ввести код подтверждения, полученный на ваш телефонный номер. Нажимаем на кнопку “Отправить код”.

Двухэтапная аутентификация аккаунта ВКонтакте успешно включена. Ставим галочку на пункте “Запомнить текущий браузер” и нажимаем на кнопку “Завершить настройку”.

Вот так вот просто  включить двух факторную аутентификацию аккаунта ВКонтакте. Надеюсь статья была для вас полезной, до новых встреч.

Как включить двухфакторную аутентификацию вконтакте?

Давайте разберем, как включить двухфакторную аутентификацию ВКонтакте на примере версии для компьютеров.

  1. Войдите в свою учетную запись. В правом верхнем углу нажмите на имя своей учетной записи и перейдите в настройки.
  2. Справа найдите вкладку «Безопасность».
  3. Нажимаем кнопку «Включить подтверждение входа».
  4. Включаем двухфакторную аутентификацию ВКонтакте

  5. Введите пароль, пришедший на телефон.

Но что делать, если wifi на телефоне есть, а сеть плохо ловит и смс с кодом подтверждения не приходит? Для этого нужно включить возможность входить в социальную сеть через специальное приложение.

Как закрыть свою страничку в контакте от поисковиков? (яндекс, гугл и т.п)

В правом верхнем углу нажимаем на аватарку. Выбираем пункт «Настройки

Выбираем вкладку «Приватность

». Пролистываем вниз до блока «Прочее». Напротив строчки «Кому в интернете видна моя страница» выставляем значение «».

Как происходит авторизация?

Авторизация ВКонтакте ничем не отличается от любой другой авторизации через сторонний сервер. Этот процесс отлично описал пользователь StackOverflow qnub

  1. На сервисе (в данном случае ВК) необходимо зарегистрировать приложение и получить ключ API.
  2. После этого приложение (сайт) могут делать запрос личных данных пользователя у стороннего сервиса через этот самый API, для чего:
  3. пользователь произведёт там какие-то действия, предположительно авторизуется и разрешит доступ к данным.
  4. По завершении действий пользователь будет перенаправлен сторонним сервисом посредством всё того же 302 Redirect на URL переданный в параметрах специально сформированной ссылки
    .

Клиентская авторизация


С клиентской авторизацией действительно нет ничего сложного.

Согласно

, достаточно асинхронно загрузить

и, «повесить»

VK.init({appid: YOUR_APP_ID})

на событие

window.vkAsyncInit

, после чего уже можно вызвать функцию

VK.Auth.login(authInfo, YOUR_APP_PERMISSIONS)

, которая и выполнит авторизацию пользователя.

Авторизация и запрос через Open API

var vk = {
 data: {},
 api: "//vk.com/js/api/openapi.js",
 appID: YOUR_APP_ID,
 appPermissions: YOUR_APP_PERMISSIONS,
 init: function(){
  $.js(vk.api);
  window.vkAsyncInit = function(){
   VK.init({apiId: vk.appID});
   load();
  }

  function load(){
   VK.Auth.login(authInfo, vk.appPermissions);

   function authInfo(response){
    if(response.session){ // Авторизация успешна
     vk.data.user = response.session.user;
     vk.getFriends();
    }else alert("Авторизоваться не удалось!");
   }
  }
 },
 getFriends: function(){
  VK.Api.call('friends.get', {fields: ['uid', 'first_name', 'last_name'], order: 'name'}, function(r){
   if(r.response){
    r = r.response;
    var ol = $('#clientApi').add('ol');
    for(var i = 0; i < r.length;   i){
     var li = ol.add('li').html(r[i].first_name ' ' r[i].last_name ' (' r[i].uid ')')
    }
   }else alert("Не удалось получить список ваших друзей");
  })
 }
}

$.ready(vk.init);

Во-первых, сразу оговорюсь, что используемые здесь функции

Похожее:  Ошибка 29 в Триколор: Для просмотра необходима авторизация - что делать

$

— это не

jQuery

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

jQuery

.

Итак,
$.ready(function) — Это обработчик для DOMContentLoaded;
$.js(text) — асинхронно загружает javascript файл;
$(element) — возвращает обёртку над DOM узлом element;
$(element).add(node) — создаёт новый дочерний для element узел node и возвращает обёртку над ним;
$(element).html(string) — обёртка для element.innerHTML = string.


По-сути, этот код делает следующее:

По готовности документа загружается API ВКонтакте, и, после его инициализации, вызывается метод

VK.Auth.login()

, который показывает всплывающее окно,

которое успешно «блочится» любой баннерорезкой

, в котором пользователь должен подтвердить своё согласие предоставить данные клиентскому приложению.


Функция

authInfo

вызывается после согласия или несогласия пользователя, и, в случае успешной авторизации, запрашивает список друзей.

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

Настройка приложения для генерации кодов

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

Используйте Google Authenticator для Iphone и смартфонов на базе андроид. И Authenticator — для телефонов в Windows Phone. Установите соответствующее приложение на ваш гаджет.

Вот так выглядит окно с QR кодом, и секретным кодом в ВК.

Теперь запустите установленное приложение, и сканируйте указанный код.

Теперь вставьте полученный код из приложения, и нажмите кнопку «Подтвердить».

Приложение для генерации кодов успешно настроено!

Вы будете перемещены во вкладку «Безопасность». Теперь здесь можно сделать следующие операции.

Пишем класс для работы с api

Перед тем, как написать класс, мы определим его логику, которая будет содержать 3 свойства и 3 метода (включая конструктор).

Простая авторизация

На этом этапе – всё довольно рационально. После того как вы подключите класс к файлу, останется получить экземпляр VKAuth, передав ему настройки. Ниже описываем простой обработчик, который отлавливает переменную $_GET и проверяем аутентификацию.

Require_once(«VKAuth.php»); $vk = new VKAuth(array(«client_id» => «ID_приложения», «client_secret» => «защищенный_ключ», «redirect_uri» => «адрес_сайта»)); if(isset($_GET[«code»])){ if($vk->auth($_GET[«code»])){ // Делаем свои дела } }

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

В архиве вы найдёте готовый пример работы с классом VKAuth, где выводятся данные пользователя.

Для чего этого необходимо? Для вызова некоторых функций Вконтакте, которые не доступны через API Вконтакте, или из-за существующий ограничений.

Шаг второй. формирование специальной ссылки

Далее вам нужно направить пользователя по специально сформированному адресу (её упоминания выделены жирным цветом в первом разделе статьи), где он подтвердит, что хочет разрешить вашему приложению выполнять какие-то действия со своим аккаунтом. Как же формируется эта ссылка?

Этот процесс подробно описан в документации . Однако, если вы обратились к этой статье, я предполагаю, что вам не хватило информации в документации, и поэтому перескажу всё своими словами. Ссылка имеет следующий вид: хост?параметры. Параметры имеют вид нескольких пар вида ключ=значение разделённых символами & .

В заключение

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

Заключение

Таким образом, мы научились получать access token ВКонтакте, с помощью которого можно вызывать методы API. Если эта статья вызовет у сообщества интерес, в следующей статье я опишу, как вызывать те или иные API-методы с помощью токена, как проверять токен на валидность (метод secure.checkToken() , конечно), и напишу какое-нибудь демонстрационное приложение, например, для сохранения всей музыки из плейлиста на компьютер.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *