Maže Nette uploadnuté soubory, pokud je formulář neplatný?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vasek125
Člen | 34
+
0
-

Ahoj, zjistil jsem, že pokud vyplním formulář, jehož členem jsou file uploady, tak po odeslání se v případě, že formulář není validní soubory nenachází na disku. Toto chování je dobré … ale provádí to samo Nette? Pokud ano, tak je to v pořádku, pokud ne, tak musím hledat někde ve vlastním kódu :-)

uestla
Backer | 799
+
0
-

To dělá samo PHP. Na tobě je, abys případně uploadované soubory zpracoval (v Nette metodou move()) než skript dospěje ke konci svého běhu.

vasek125
Člen | 34
+
0
-

Aha, takže pokud nedospěje ke konci normálního běhu (např. výpadek spojení), tak tam ty soubory zůstanou? To je docela dobrý způsob útoku (zaplnit disk).

Filip Procházka
Moderator | 4668
+
0
-

Ale houby..

  • Pošleš požadavek se souborem
  • PHP to zpracuje, soubor nahraje do dočasného adresáře
  • začne zpracovávat script
  • dojde to k nette formuláři
  • vyvolá se signál, že byl formulář odeslán
  • rozhodne se, jestli je formulář validní
    • pokud není, tak se nezavolá onSuccess
    • pokud je, tak se zavolá onSuccess
      • v tvém handleru by jsi měl mít přesunutí souboru do nějaké složky s daty a následné zpracování
  • po dokončení PHP scriptu se ten dočasný soubor smaže
Patrik Votoček
Člen | 2221
+
0
-

HosipLan napsal(a):

  • po dokončení PHP scriptu se ten dočasný soubor smaže

Jen doplním že ho PHP smaže i když dojde k chybě (pád spojení, vyjínka, error, …).