|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2004
Сообщений: 10
|
Флеш ролик на странице и куки (сессия)
Вопрос коротко:
Если флеш-ролик, размещенный на странице, отправляет запросы к серверу, то запросы идут от имени браузера и все куки, установленные в браузере, передаются автоматически? Конкретней: Имеется сайт, на котором пользователь прошел авторизацию, о чем сделана соответствующая запись в сессии. На странице размещен флеш-ролик, который отправляет данные на сервер. Сервер должен проверить права пользователя на выполнения действия (то, что пользователь авторизован на сайте). Сидел, думал, как бы из ролика передать серверу id сессии, а тут оказалось, что он сам вроде передается. Я не ошибся? Вопрос номер два: Есть ли в такой проверке авторизованности угроза безопасности? Может следует учесть какие-то неочевидные моменты? Просто делаю это первый раз. |
|
|||||
Регистрация: Dec 2009
Сообщений: 428
|
Запросы идут от имени клиента, с его IP и прочего.. но флешка передает адрес с какой страницы была загружена, и IP пользователя, что можно проверять на сервере...
НО по Вашему плану человек может скачать флешку и запускать её без браузера, и всегда получать желаемое без авторизации. И вообще куки можно подделать и занимает это пару минут.. Иное дело серверые сессии - но если их передавать во флеше они опять же будут видны злоумышленнику. Вариант такой - сервер, который авторизует клиента (сайт) и выдает сессию, пишет значение сессии в базу (к примеру юзер Вася имеет сессию 24a6f69c9934c2d6a312650f16b108c5), и эту же сессию передает во флешварс вида 'flashvars', "user_id=24a6f69c9934c2d6a312650f16b108c5" Далее флешка передает это значение при подключении NetConnection.connect (serverURL, user_id) Далее сервер делает запрос к базе вида (проверить, есть ли в базе запись 24a6f69c9934c2d6a312650f16b108c5, если да, то разрешить подключение). Таким образом кто бы ни пытался подделать сессию, в серверную базу он не залезет, соотв не подключится, так что так |
|
|||||
Регистрация: Oct 2004
Сообщений: 10
|
1. Что значит "от клиента"? Клиентом выступает браузер или сама флешка? Если флешка размещена на странице. IP здесь вообще ни при чем.
2. Флешка без браузера по такому плану точно ничего сделать не сможет, т.к. сервер проверяет наличие корректной сессии, значит флешка для этого должна знать id сессии и как-то его передать. Вопрос состоит в том, правильно ли я понял, что размещенная на странице флешка передает запрос от имени браузера с куками, установленными в нем? |
|
|||||
Регистрация: Dec 2009
Сообщений: 428
|
Неправильно
|
|
|||||
Регистрация: Oct 2004
Сообщений: 10
|
Допустим, неправильно. Тогда как объяснить происходящее?
this.createEmptyMovieClip('loader',this.getNextHighestDepth()); loadVariables('/test.php',loader,'POST'); Запрашиваем страницу, видим в access.log два обращения к файлу - один раз при загрузке страницы, второй - из флеш. Сессия во флеш та же. Или я чего-то не понимаю? |
|
|||||
Регистрация: Dec 2009
Сообщений: 428
|
Вы абсолютно правы.. Проверил в четырех браузерах, проверил настройки апача. Принимающая сторона видит и куки и сессии, и все что надо и не надо. В общем то это даже логично, что плагин работает от имени браузера. Спасибо, что подняли эту тему.
|
|
|||||
Регистрация: Oct 2004
Сообщений: 10
|
Подождем, что скажут профи.
Желательно со ссылкой на какой-нибудь документ, говорящий, что так и задумано... |
|
|||||
Erlyvideo
|
Флеш не шлет куки когда заливает файлы, а вот GET запросы идут с куками.
|
Часовой пояс GMT +4, время: 13:55. |
|
« Предыдущая тема | Следующая тема » |
|
|