![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2007
Сообщений: 7
|
Сразу скажу, что я не гуру Action Script программирования, и знаю что вопрос не прост поэтому задаю в этой ветке.
Недавно для проекта нашел отличный open-source Flash uploader (SWFuploader http://swfupload.mammon.se/ ). Установил на тестовую страничку, попробовал - все работает, все ОК. Когда начал прикручивать в свой проект, появилось куча проблем. Зона аплоадера - админка, необходима авторизация для входа. И тут касяк - Flash Player не передает ID сессии или вообще какие-либо cookie из браузера серверу. Т.е. скрипт который принимает файлы отвергает сессию плеера и естественно не сохраняет загруженые файлы. Есть решения по этому поводу - передать например ID сессии через GET, например upload.php?PHPSESSIONID=блаблабла. Описание - здесь: http://groups.google.com/group/cake-...24743d44746f42 . Мало того, я пользуюсь фреймворком cakephp ( http://cakephp.org/ ), в котором помимо этого производиться проверка строки User-Agent, передаваемая браузером, которая, естественно, отличается у флэш-плеера. Отсюда у меня вопрос, возможно ли решить следующие задачи: 1) установить во Flash-плеере cookie те же, что и в браузере; 2) установить такую же строку User-Agent у плеера, как и у браузера. Заранее спасибо за ответы. Последний раз редактировалось wargoth; 10.08.2007 в 12:52. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
У флешки, расположенной на странице, User-Agent совпадает с браузерным.
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 7
|
Да, я считаю что так и должно быть, может так оно и есть в случае с IE, но в данном случае это не так. Вот как представился браузер:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.5) Gecko/20061201 Firefox/2.0.0.5 (Ubuntu-feisty) а так представился плеер: Shockwave Flash Мой плеер - 9.0.31.0 Есть идеи по поводу кукисов? Последний раз редактировалось etc; 10.08.2007 в 10:04. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Так, ещё раз: флешка, расположенная на странице, в браузере, имеет тот же User-Agent, что и браузер. Во всяком случае, под Windows и Mac OS X точно. Под Linux не знаю.
А standalone-плеер имеет свой User-Agent и Cookie не поддерживает. |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 7
|
Я постучался разными браузерами с разных операционок и вот результаты. Сначала буду писать как представился браузер, через строчку - плеер.
FF под линухом: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty) Shockwave Flash FF под виндой Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 Shockwave Flash IE6 под линухом (проект IE4L): Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Shockwave Flash IE7 под виндой Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MyIE2; MRA 4.9 (build 01863); .NET CLR 1.1.4322) Shockwave Flash IE6 под виндой Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; MRA 4.9 (build 01863)) Shockwave Flash Что вы имели ввиду под "standalone-плеер"? Я имею ввиду только тот плеер который отображается на странице в браузере. Разве могут здесь быть варианты? Последний раз редактировалось wargoth; 10.08.2007 в 12:37. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Гм, очень странно, но у меня везде User-Agent совпадает с браузерным.
Например, для FF: GET /month.php HTTP/1.1 Host: etcs.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive К month.php обращается флешка. Для IE/Opera результат тот же. User-Agent, равный Shockwave Flash бывает только у standalone-плеера. standalone — это обычный исполняемый плеер, приложение. Т.е. я запускаю swf-ку с винта и при обращении оно к серверу User-Agent равен Shockwave Flash. Такая схема действительна для плееров, начиная с шестой версии, более старые не проверял. |
|
|||||
|
Хм... Интересная проблема. У меня user-agent тоже везде совпадает с браузерным.
Может быть дело в том, как флешка вставлена в страницу? Врядли конечно, но ничего другого в голову не идет. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
У меня в логе сервера всего 4 Shockwave Flash встречается и то, там в Referer написан линк на локальный файл, т.е. это standalone-плеер. Лог — 12 метров.
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 7
|
Я честно говоря не разбирался, как она вставлена. Вообще очень любопытное использование. Посмотрите демо на главной : http://swfupload.mammon.se/ . Все делает javascript, а флэшка вообще скрыта.
_etc, month.php запрашивается флэшкой? В моем случае идет POST. Может тоже есть разница? Я так понимаю, что кукисов во флэшке нет таких же как у браузеров? Если есть, то как их устанавливать? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
wargoth, вот с POST:
POST /php/book/index.php HTTP/1.1 Host: etcs.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Referer: http://etcs.ru/swf/guestbook.swf Content-type: application/x-www-form-urlencoded Content-length: 69 Connection: keep-alive Кукисы браузер шлет отдельно от флеша. И вообще, запросом данных занимается сам браузер. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|