![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2007
Сообщений: 21
|
Здравствуйте! Решил вот вместо штмл сделать флеш форму для загрузки файлов, код вот здесь:
package {
import flash.display.Sprite;
import flash.net.*;
import flash.events.*;
import flash.system.*;
public class ExampleApplication extends Sprite
{
public function ExampleApplication()
{
//Security.allowDomain("http://localhost/");
var canDwnld = false;
loadFileProBar.mode = "manual";
function onSelectFile()
{
var mytexts = fileReference.name;
if(!canDwnld)
{
canDwnld = true;
}
//trace(mytexts);
swtText.text = mytexts;
}
function onSDButtonClick()
{
fileReference.browse([fileFilter]);
}
function onStartDwnld()
{
if(canDwnld)
{
fileReference.upload(urlRequest, "uploadfile");
}
}
function onFileComplete()
{
loadFileProBar.mode = "manual";
}
var urlRequest:URLRequest = new URLRequest("upload.php"); // http://localhost/sait_zn/upload.php
var fileReference:FileReference = new FileReference();
fileReference.addEventListener(Event.SELECT, onSelectFile);
selectDwnldButton.addEventListener(MouseEvent.CLICK, onSDButtonClick);
startDwnldButton.addEventListener(MouseEvent.CLICK, onStartDwnld);
fileReference.addEventListener(ProgressEvent.PROGRESS, onFileProgress);
fileReference.addEventListener(Event.COMPLETE, onFileComplete);
var fileFilter:FileFilter = new FileFilter("Images", "*.png; *.gif; *.jpg");
//fileReference.browse([fileFilter]);
}
private function onFileProgress(event:ProgressEvent):void
{
loadFileProBar.mode = "event";
FileProgressField.text = event.bytesLoaded + " из " + event.bytesTotal + " байтов";
}
}
}
P.S. Если качать при помощи флеш формы, то в $_FILES['uploadfile']['type'] записывается значение application/octet-stream. |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 4
|
меня интересует этот же вопрос =)
мб кто-нибудь поможет? заранее спс =) |
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
а расширение смотреть не подходит?
__________________
smival.com |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 4
|
можно конечно, но не безопасно, его подделать проще чем Content-Type.
Последний раз редактировалось Mirk.; 13.09.2009 в 01:05. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Только анализируя заголовок файла в байтаррей, но по расширению проще, хотя расширение можно изменить. По крайней мере узнать что jpg, png и gif а не что то другое можно по любому
|
|
|||||
|
Modus ponens
|
Для картинок:
http://il2.php.net/manual/en/functio...-mime-type.php
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 4
|
Цитата:
Цитата:
Последний раз редактировалось Mirk.; 13.09.2009 в 03:09. |
|
|||||
|
Modus ponens
|
А какой смысл проверять то, что пишется в заголовок запроса? Вам все равно нужно проверять содержание, а не заголовок, в заголовок можно написать что угодно... Если вам это нужно отправлять на сервер, то, из соображений безопасности нет смысла делать проверки на клиенте т.как они в полпинка обходятся...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Заголовок файла, wvxvw, а не запроса
Но подделать можно что хочешь, тут Вы правыMirk. Есть спецификации файлов, где описана их структура и заголовки. Ковыряйте сами, если хотите |
|
|||||
|
Modus ponens
|
Флеш ничего не пишет в файл... только в запрос, не хватало еще чтобы флеш изменял файлы на клиенте перед отсылкой... об этом как раз и речь, что когда флеш формирует запрос multipart-form-data или как он там называется, то вместо того, чтобы писать mimeType image/jpeg например для JPEG'ов, он пишет application/octet-stream.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|