Validace uploadu souboru – mime_type text/csv, nedari se mi projit validaci

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

Ahoj,

nette 2 alpha,

<?php
$f->addFile('soubor', 'Soubor (formát .csv)')
	->addRule(Form::FILLED, 'Vyplňte prosím soubor')
	->addRule(Form::MIME_TYPE, 'Formát souboru musí být .csv', 'text/csv');
?>

I kdyz neustale uploaduji csv soubor, nemohu ho dostat pres mime_type validaci, tusite nekdo, kde by mohl byt zakopan pes?

Diky.

ja

Editoval Ja (18. 6. 2011 10:32)

22
Člen | 1478
+
0
-

se podívej, jaký ten soubor má mime-type ve skutečnosti, jestli má vůbec nějaký a jestli máš na serveru povolenou knihovnu na detekci mime.

Ja
Člen | 260
+
0
-

diky za rady,

btw, nedala by se testovat pres nejakou nette validaci jen pripona souboru?

Editoval Ja (18. 6. 2011 10:43)

Felix
Nette Core | 1190
+
0
-

dalo pres Form:REGEXP ;-) neco jako *\.[css] trebas.

Ondřej Mirtes
Člen | 1536
+
0
-

Dala, ale je to bezpečnostní chyba.

Jan Tvrdík
Nette guru | 2595
+
0
-

Ondřej Mirtes wrote:

Dala, ale je to bezpečnostní chyba.

Kontrola přípony je (ve většině případů) mnohem důležitější než kontrola mime typu.

Filip Procházka
Moderator | 4668
+
0
-

@**Jan Tvrdík**: Souhlas

Co takhle validaci přeskočit a rovnou zkusit v onSuccess prohnat soubor funkcí str_getcsv a když to nevrátí použitelný výsledek pak soubor zahodit a přidat do formuláře chybu pomocí $form->addError?