Безопасная авторизация IFrame-приложений

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
nabs
Сообщения: 20
Зарегистрирован: 11 июн 2012, 21:26

Безопасная авторизация IFrame-приложений

Сообщение nabs »

Решила напистаь преложение через фрейм.

Пример авторизаии:

Код: Выделить всё

<?php$app_id = '----';$api_secret = '-----';  $auth_key  = $_GET['auth_key'];$viewer_id = $_GET['viewer_id']; $real_key = md5($app_id."_".$viewer_id."_".$api_secret);if ($auth_key == $real_key){echo "OK";} else {echo "NOU";}?>
Все работает, но разве это безопастно?
Ведь запрос через GET фрейму, остается даже в истории посещений браузеров.
Нет ничего сложного просто скопировать строку с данными api_id; viewer_id; auth_key;
После чего любой откроет приложение от имени другого пользователя.

Может еще какой метод проверки есть для фреймов?
представляю к примеру что мой сайт может зделать запрос по томуже АПИ контакту и подтвердить подлинность.

PS: Только сегодня стала делать приложения. возможно что-то еще не знаю :roll:
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Безопасная авторизация IFrame-приложений

Сообщение alexei »

А откуда другой пользователь узнает auth_key?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Безопасная авторизация IFrame-приложений

Сообщение Alazaur »

Ну если в истории сохраняется, то это в принципе теоретически возможно, только толку с этого особо как бы не будет, даже если и получится у кого-то пройти первичную авторизацию, то никакие следующие запросы не пройдут, сможет только позырить ради интереса чего у него там есть. Но если злоумышленник имел прямой доступ к компьютеру и браузеру пострадавшего, то он мог так же позырить и напрямую с его акка вконтакте, да еще и не просто посмотреть, а и понатворить там чего-нить, и не плясать с бубном вокруг истории браузера выуживая его хэш для авторизации. Здесь вы явно перестраховываетесь, если у пользователя в компе лазают всякие, то это уже не ваши проблемы, а конечного пользователя.
P.S. А если я вас не убедил, то используйте аякс и передавайте данные через POST со всеми проверками, откуда пришли данные куда ушли, шифруйте, подсаливайте и т.д.
nabs
Сообщения: 20
Зарегистрирован: 11 июн 2012, 21:26

Re: Безопасная авторизация IFrame-приложений

Сообщение nabs »

Alazaur писал(а): P.S. А если я вас не убедил, то используйте аякс и передавайте данные через POST со всеми проверками, откуда пришли данные куда ушли, шифруйте, подсаливайте и т.д.
И какже я аякс то использую... у меня вконтакт не спрашивал в чем передовать переменные во фрейм-приложении. сразу ГЕТ ссылкой передает...

Ну или хотябы секрет ключ бы какнить менять... хотябы раз в день.. но на сколько я знаю он только из админки руками меняется.
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Безопасная авторизация IFrame-приложений

Сообщение alexei »

Код: Выделить всё

    $.post("../api/Pazaak/game_field/", { id: id, key: key, first: 1 }, function (data) {        var json = jQuery.parseJSON(data);});
JQuery

Пример POST запроса
nabs
Сообщения: 20
Зарегистрирован: 11 июн 2012, 21:26

Re: Безопасная авторизация IFrame-приложений

Сообщение nabs »

А впринцепи ну и ладно... так буду делать, раз уж у всех так)))

Но если кто что надумает, напишите :mrgreen:
nabs
Сообщения: 20
Зарегистрирован: 11 июн 2012, 21:26

Re: Безопасная авторизация IFrame-приложений

Сообщение nabs »

alexei писал(а):

Код: Выделить всё

    $.post("../api/Pazaak/game_field/", { id: id, key: key, first: 1 }, function (data) {        var json = jQuery.parseJSON(data);});
JQuery

Пример POST запроса
да я не про это, а про первую загрузку моего приложения. в окне фрейма на страничке вконтакте.
Или этот код непосредственно вк можно в админке для запуска приложения указать???
Ответить