Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   доступ к серверу только с api в контакта (http://www.flasher.ru/forum/showthread.php?t=134108)

AlexsWulf 21.12.2009 23:13

доступ к серверу только с api в контакта
 
Доброго времени суток.
Хотел защитить скрипты на сервере от посторонего доступа и разрешить только приложению вконтакте

пишу в .htaccess
Код:

RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REMOTE_HOST} !^.*vkontakte\.ru.*$
RewriteRule ^.*$ http://google.ru/
ErrorDocument 403 /errors/error.htm
ErrorDocument 500 /errors/error.htm
ErrorDocument 401 /errors/error.htm
ErrorDocument 404 /errors/error.htm

в результате все перенаправляются на гугл и приложение тоже :(
Не подскажите как еще можно закрыть доступ?
Или я с регулярками что то на мудрил?

Заранее благодарю за ответ.

maxlapshin 22.12.2009 00:44

А вы понимаете, что флешка находится у пользователя на компьютере и отправляет к вам запросы с любого IP адреса?

Плюс конструкция вида RewriteCond %{REMOTE_HOST} !^.*vkontakte\.ru.*$ совершенно нежизнеспособна, потому что vkontakte.ru может резолвиться на тысячу равноправных IP адресов.

То, что вам нужно, называется secret_key. Это подпись от вашего payment_key и user_id пользователя. Вы никогда не можете быть уверены в том, что пользователь выполняет запросы к вам именно из флеш приложения, а не из самописной программы, но вы может быть полностью уверен в том, что это именно пользователь 1234567 прислал вам запрос на какой-то урл.

Уберите эту перепись.

AlexsWulf 22.12.2009 00:49

Цитата:

Сообщение от maxlapshin (Сообщение 874143)
А вы понимаете, что флешка находится у пользователя на компьютере и отправляет к вам запросы с любого IP адреса?

Действительно. Слона то я и не приметил (
Спасибо большое.

andrew911 07.01.2010 21:13

Цитата:

Сообщение от maxlapshin (Сообщение 874143)
То, что вам нужно, называется secret_key. Это подпись от вашего payment_key и user_id пользователя. Вы никогда не можете быть уверены в том, что пользователь выполняет запросы к вам именно из флеш приложения, а не из самописной программы, но вы может быть полностью уверен в том, что это именно пользователь 1234567 прислал вам запрос на какой-то урл.

Где гарантия, что флешка не разобрана и из нее не получен secret_key, с помощью которого и сделан запрос от имени другого пользователя?

udaaff 07.01.2010 21:28

andrew911, секретный ключ хранится на сервере, а не в приложении. А авторизация пользователя проводится через auth_key, который формируется на основании secret key.

maxlapshin 08.01.2010 00:40

Ага. auth_key формирует сервер вконтакта при генерации HTML-я который вставляет флешку и он представляет из себя функцию auth_key = crypt(secret_key, user_id).

Если подменить user_id, то когда вы на своём сервере будете проверять ту же функцию, у вас не сойдется.

andrew911 21.01.2010 22:59

udaaff

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

udaaff 21.01.2010 23:23

Цитата:

Сообщение от andrew911 (Сообщение 881043)
udaaff

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

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

andrew911 23.01.2010 15:10

Цитата:

Сообщение от udaaff (Сообщение 881048)
Речь шла об авторизации пользователя на удаленном сервере.
Какие ключи есть и для чего они надо, я в курсе.

Изначально был вопрос
Цитата:

Хотел защитить скрипты на сервере от посторонего доступа и разрешить только приложению вконтакте
И какое отношение имеет секретный платежный ключ к этому?

udaaff 23.01.2010 15:46

andrew911, перечитайте еще раз второй пост. Третий абзац в особенности.
И то, что вам писали после.


Часовой пояс GMT +4, время: 16:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.