[TYPO3-UG Dutch] value waarde in formulier

Patrick Broens patrick at patrickbroens.nl
Tue Nov 27 14:15:24 CET 2007


Leen,

Als ik het goed begrijp wil je de inhoud van de database terug in het 
formulier laten komen en werkt dit niet voor input type="file". Dat 
klopt, want dat kan niet. Als een gebruiker naar een bestand zoekt om 
deze te uploaden, dan zoekt hij/zij in het locale bestandssysteem. 
Hiervan weet jij de waarde niet, simpelweg omdat die niet wordt 
doorgestuurd (veiligheid). Het haalt dan ook niets uit om de waarde uit 
de database in dit veld terug te plaatsen.

Voor het geval dat iemand begint te roepen: Dit kan wel. In sommige 
browsers kan het inderdaad met javascript, maar niet iedere browser laat 
dit toe. Officieel hoort dit een read-only waarde te zijn. Iedere 
browser die dit wel toelaat zou onmiddelijk op de brandstapel moeten, 
want dan praat je over een major security hole.

Wat ik vaak doe bij een uploadveld is een link plaatsen naar het vorige 
bestand dat is geupload, of in het geval van een afbeelding, de 
afbeelding erbij plaatsen als thumbnail. Dan weet de gebruiker in ieder 
geval wat hij/zij heeft geupload.

En dan nog even een zijdelingse opmerking: File uploads kunnen erg 
gevaarlijk zijn. Hier dien je dan ook alle beveiliging op los te laten 
die er maar voorhanden is. Dat begint bij de controle van het mime-type 
(server side, niet de mime type die door de client wordt verstuurd, want 
die kan gefaked zijn), en alles wat je maar kunt bedenken. Ook de 
directory waar uiteindelijk de upload terecht komt dient goed beveiligd 
te zijn. Stel dat ik middels jouw script een php file kan uploaden, 
vervolgens weet waar het staat en het ook nog kan uitvoeren, dan begrijp 
je waar ik het over heb.

Nooit dus blindelings elk geuploade bestand accepteren.

Patrick

Leen Strijk wrote:
> Hoi,
> 
> Ik heb er nog eens over nagedacht maar misschien is het beter om de 
> bestanden niet via een file veld in het formulier te doen maar in een 
> popup window met een fileupload formulier.
> 
> gr Leen
> 
> 
> Leen Strijk schreef:
>> Hallo,
>>
>> In mijn extensie heb ik een formulier gemaakt.
>> Een van de velden is een file upload veld
>>
>> Nu heb ik ook een gedeelte wat een databaserecord ophaalt en in de 
>> formuliervelden zet met behulp van value="waarde uit de db"
>> Hiermee kan je een record aanpassen.
>>
>> Dit werkt allemaal goed behalve met de file velden.
>> De waardes komen niet in de velden.
>> Dat is ook zo bij de controle. Als er een fout is geeft hij het 
>> formulier terug met eventuele foutmeldingen.
>> Als bijv de postcode fout is zou ik graag willen dat de file die ik 
>> wil uploaden onthouden wordt. Kan dat?
>>
>> gr Leen
> 


More information about the TYPO3-UG-dutch mailing list