Страница 1 из 1

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

Добавлено: 11 июн 2012, 21:41
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:

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

Добавлено: 12 июн 2012, 00:38
alexei
А откуда другой пользователь узнает auth_key?

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

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

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

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

Ну или хотябы секрет ключ бы какнить менять... хотябы раз в день.. но на сколько я знаю он только из админки руками меняется.

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

Добавлено: 12 июн 2012, 17:59
alexei

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

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

Пример POST запроса

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

Добавлено: 12 июн 2012, 17:59
nabs
А впринцепи ну и ладно... так буду делать, раз уж у всех так)))

Но если кто что надумает, напишите :mrgreen:

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

Добавлено: 12 июн 2012, 18:01
nabs
alexei писал(а):

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

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

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