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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Apr 2018
Сообщений: 3
Attention Загрузить файл на сервер из BytesArray

Всем здравствуйте!

У меня возникла некая проблема.

Есть звуковой wav файл, который содержится в BytesArray.

Необходимо отправить его на сервер. Как я уже только не пробовал... Ничего не выходит.

через

Код AS3:
fileReferenceSave.save(byteArray, "test.wav");
всё прекрасно сохраняется, файл воспроизводиться. Но как отправить его на сервер?!

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Цитата:
Как я уже только не пробовал
Как вы не пробовали?
__________________
while(live()) { hope(); }

Старый 23.04.2018, 19:16
Aprofen вне форума Посмотреть профиль Отправить личное сообщение для Aprofen Найти все сообщения от Aprofen
  № 3  
Ответить с цитированием
Aprofen

Регистрация: Apr 2018
Сообщений: 3
Цитата:
Сообщение от ZergMaster Посмотреть сообщение
Как вы не пробовали?

в данный момент файл у меня отправляется так:

Код AS1/AS2:
var loader:URLLoader = new URLLoader();
    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
	var variables:URLVariables = new URLVariables();
    var request:URLRequest = new URLRequest("http://sute.ru/");
	request.requestHeaders.push(header);
    request.method = URLRequestMethod.POST;
    request.data = wav_file;
    loader.load(request);
должен заметить, он отправляется, в содержимом - содержимое файла

но как такое принять на сервере? массив $_FILES НИЧЕГО не видит.

а мне нужно принять файл на сервере и сохранить... замкнутый круг

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Примерно как-то так
PHP код:
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) {
    
$fp     =     fopen"someFileName.wav"'wb' );  
    
fwrite($fp$GLOBALS["HTTP_RAW_POST_DATA"]);   
     
fclose($fp );

Но надо учитывать, что это не безопасный способ, без каких-либо проверок. Злоумышленник через эту дыру сможет любой эксплойт загрузить, и сделать с сервером практически всё, что угодно.
Хотя чисто задачу сохранения переданного файла этот код выполняет

п.с. Ну и надо конечно же директорию указать, куда этот файл сохранять. Этот код сохранит файл прямо рядом с PHP файлом, если эта директория доступна для записи. Если нет, то ничего не загрузит
__________________
Ко мне можно и нужно обращаться на ты)

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

Регистрация: Apr 2018
Сообщений: 3
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Примерно как-то так
PHP код:
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) {
    
$fp     =     fopen"someFileName.wav"'wb' );  
    
fwrite($fp$GLOBALS["HTTP_RAW_POST_DATA"]);   
     
fclose($fp );

Но надо учитывать, что это не безопасный способ, без каких-либо проверок. Злоумышленник через эту дыру сможет любой эксплойт загрузить, и сделать с сервером практически всё, что угодно.
Хотя чисто задачу сохранения переданного файла этот код выполняет

п.с. Ну и надо конечно же директорию указать, куда этот файл сохранять. Этот код сохранит файл прямо рядом с PHP файлом, если эта директория доступна для записи. Если нет, то ничего не загрузит

да, такой способ я знаю, но в том-то и дело, что так можно загрузить что угодно на сервер. А как обезопасить загрузку?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Это уже выходит за рамки темы. Вопрос был как сохранить на сервер
Но, тем не менее, можно сделать как минимум 4 вещи:
1) Во-первых защитить запросы от банальных null-byte-injection, и сделать удаление спецсимволов (в нете куча инфрмации по этому поводу)
2) Сохранять файл в директорию, из которой сервер не может его выполнять как скрипт. Даже если кто-то загрузит туда php скрипт, он будет вопсриниматься как простой текст
3) Правильно расставить права на запись / удаление директорий и файлов на сервере
4) Чтобы туда не грузанули какой-нибудь hd фильм (а то и с десяток оных)), к примеру, можно ограничить объем сохраняемого файла. Как это сделать - гугл в помощь
__________________
Ко мне можно и нужно обращаться на ты)

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

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

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


 


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


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