Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.12.2009, 11:17
Kvecxjo вне форума Посмотреть профиль Отправить личное сообщение для Kvecxjo Посетить домашнюю страницу Kvecxjo Найти все сообщения от Kvecxjo
  № 1  
Ответить с цитированием
Kvecxjo

Регистрация: Oct 2004
Сообщений: 10
По умолчанию Флеш ролик на странице и куки (сессия)

Вопрос коротко:
Если флеш-ролик, размещенный на странице, отправляет запросы к серверу, то запросы идут от имени браузера и все куки, установленные в браузере, передаются автоматически?

Конкретней:
Имеется сайт, на котором пользователь прошел авторизацию, о чем сделана соответствующая запись в сессии.
На странице размещен флеш-ролик, который отправляет данные на сервер.
Сервер должен проверить права пользователя на выполнения действия (то, что пользователь авторизован на сайте).
Сидел, думал, как бы из ролика передать серверу id сессии, а тут оказалось, что он сам вроде передается. Я не ошибся?

Вопрос номер два:
Есть ли в такой проверке авторизованности угроза безопасности? Может следует учесть какие-то неочевидные моменты? Просто делаю это первый раз.

Старый 29.12.2009, 11:43
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 2  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
Запросы идут от имени клиента, с его IP и прочего.. но флешка передает адрес с какой страницы была загружена, и IP пользователя, что можно проверять на сервере...
НО по Вашему плану человек может скачать флешку и запускать её без браузера, и всегда получать желаемое без авторизации.
И вообще куки можно подделать и занимает это пару минут.. Иное дело серверые сессии - но если их передавать во флеше они опять же будут видны злоумышленнику.

Вариант такой - сервер, который авторизует клиента (сайт) и выдает сессию, пишет значение сессии в базу (к примеру юзер Вася имеет сессию 24a6f69c9934c2d6a312650f16b108c5), и эту же сессию передает во флешварс вида
'flashvars', "user_id=24a6f69c9934c2d6a312650f16b108c5"

Далее флешка передает это значение при подключении NetConnection.connect (serverURL, user_id)
Далее сервер делает запрос к базе вида (проверить, есть ли в базе запись 24a6f69c9934c2d6a312650f16b108c5, если да, то разрешить подключение).

Таким образом кто бы ни пытался подделать сессию, в серверную базу он не залезет, соотв не подключится, так что так

Старый 29.12.2009, 12:06
Kvecxjo вне форума Посмотреть профиль Отправить личное сообщение для Kvecxjo Посетить домашнюю страницу Kvecxjo Найти все сообщения от Kvecxjo
  № 3  
Ответить с цитированием
Kvecxjo

Регистрация: Oct 2004
Сообщений: 10
1. Что значит "от клиента"? Клиентом выступает браузер или сама флешка? Если флешка размещена на странице. IP здесь вообще ни при чем.
2. Флешка без браузера по такому плану точно ничего сделать не сможет, т.к. сервер проверяет наличие корректной сессии, значит флешка для этого должна знать id сессии и как-то его передать.

Вопрос состоит в том, правильно ли я понял, что размещенная на странице флешка передает запрос от имени браузера с куками, установленными в нем?

Старый 29.12.2009, 12:55
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 4  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
Неправильно

Старый 29.12.2009, 13:33
Kvecxjo вне форума Посмотреть профиль Отправить личное сообщение для Kvecxjo Посетить домашнюю страницу Kvecxjo Найти все сообщения от Kvecxjo
  № 5  
Ответить с цитированием
Kvecxjo

Регистрация: Oct 2004
Сообщений: 10
Допустим, неправильно. Тогда как объяснить происходящее?
PHP код:
session_start();
$fp=fopen('access.log','a');
fwrite($fp,$_SERVER['HTTP_USER_AGENT']."\n");
fwrite($fp,$_COOKIE[session_name()]."\n");
fclose($fp);
<
object ...>здесь вставляем ролик</object
Код AS1/AS2:
this.createEmptyMovieClip('loader',this.getNextHighestDepth());
loadVariables('/test.php',loader,'POST');
Содержимое access.log:
Код:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16
a3689b1a449462328117c598639c98e6
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16
a3689b1a449462328117c598639c98e6
Запрашиваем страницу, видим в access.log два обращения к файлу - один раз при загрузке страницы, второй - из флеш. Сессия во флеш та же. Или я чего-то не понимаю?

Старый 29.12.2009, 14:42
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 6  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
Вы абсолютно правы.. Проверил в четырех браузерах, проверил настройки апача. Принимающая сторона видит и куки и сессии, и все что надо и не надо. В общем то это даже логично, что плагин работает от имени браузера. Спасибо, что подняли эту тему.

Старый 29.12.2009, 14:55
Kvecxjo вне форума Посмотреть профиль Отправить личное сообщение для Kvecxjo Посетить домашнюю страницу Kvecxjo Найти все сообщения от Kvecxjo
  № 7  
Ответить с цитированием
Kvecxjo

Регистрация: Oct 2004
Сообщений: 10
Подождем, что скажут профи.
Желательно со ссылкой на какой-нибудь документ, говорящий, что так и задумано...

Старый 29.12.2009, 22:27
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 8  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
Флеш не шлет куки когда заливает файлы, а вот GET запросы идут с куками.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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