![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 5.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z napisaniem dynamicznego uploadera plików.
Używam klasy AdvancedAJAX 1.1 Plik z formularzem(example.php): Kod <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" xml:lang="pl"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Dynamiczny upload By Astarot</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="advajax.js"></script> <script type="text/javascript" src="funkcje.js"></script> </head> <body> <form method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <input type="file" name="pliczek" size="30" /> <button onclick="upload()">Zapisz</button> </form> </body> </html> Plik z funkcją odpowiedzialna za przeslanie zmiennych(funkcje.js): Kod function upload() { advAJAX.post({ url: "upload.php", onLoading : function(obj) { alert('laduje'); }, onComplete : function(obj) { alert('zaladowalem'); }, onSuccess : function(obj) { alert('mam dane'); } }); } oraz pliczek upload.php: Kod <?php move_uploaded_file($_FILES['pliczek']['tmp_name'],"pliki/".$_FILES['pliczek']['name']); ?> Taki błąd generuje konsola JS w mozilli firefox (IMG:http://www.void.prv.pl/test.jpg) obrazek TUTAJ Licze na waszą pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pozdr. Astarot Ten post edytował Astarot 1.04.2006, 11:48:51 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Astarot @ 2006-04-01 11:30:49) Hmm... dlaczego powstala by luka ? przeciez w pliku upload.php mozna zrobic filtrowanie rozszezen tylko na jpg.. i wtedy inne pliki nie bylyby uploadowane. Dlaczego? Dane wpisane przez użytkownika w formularz przechodzą przez napisany przez Ciebie javascript.. Jeśli chcesz możesz je jak Ci się podoba edytywać zanim dotrą na serwer.. Gdyby ta możliwość była zachowana przy przesyłaniu plików to by oznaczało, że możesz bez wiedzy użytkownika wybrać sobie dowolny inny plik z jego komputera.. to nazywam poważną luką, której oczywiście nie ma. Hawk Ci podał link, gdzie jest opisane jak odbezpieczyć tę lukę w firefoxie.. i to jest jedyna znana mi możliwość jak to zrobić ajaxem.. Każde tzw inne możliwości to właśnie ukryta ramka... a to z ajaxem nie ma nic wspólnego. Ten post edytował mariuszn3 3.04.2006, 16:20:02 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 12:50 |