Запретить показ фрейма по прямой ссылке

12
vob2014
На сайте с 30.03.2014
Offline
91
#11

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

Самое безопасное это приложение на флэш, оно хранится и запускается с серверов ВК, взломать труднее будет т.к. нет исходника и нет такого великолепного отладчика как Хром-яваскрипт.

...
alexvaleev
На сайте с 04.02.2010
Offline
55
#12

Можно поразмышлять в сторону "гибридной" проверки на php+js:

1. при загрузке iframe вконтакте всегда (хоть в документации и написано, что должны быть включены платежи, но это не так) передает параметры "viewer_id" и "auth_key", на основании которых можно проверить подлинность параметров на стороне сервера

auth_key = md5(api_id + '_' + viewer_id + '_' + api_secret)

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

2. среди параметров также есть "access_token" - он привязан к IP пользователя и этот факт можно использовать для проверки валидности через JS. Например, выполнить users.get без параметра user_id, указав только access_token. В случае, если вернется корректный ответ и id пользователя совпадет с viewer_id из п.1, значит пользователь авторизован и именно он зашел в приложение.

Второй пункт не проверялся на практике.

По поводу защиты данных я полностью согласен с vob2014.

Блог (http://alexvaleev.ru) Всем роуп! (https://rujump.ru/)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий