[TYPO3] PHP help ! does this code look like it would check a file extensions, and disallow php files or exe files to be attached
ries van Twisk
typo3 at rvt.dds.nl
Thu Jun 14 15:22:33 CEST 2007
I would do it the other way around,
allow only the files you can allow and want to have,
and deny the rest. That is more defensive .
Ries
On Jun 14, 2007, at 7:54 AM, Rens Admiraal wrote:
> Hi Dave,
>
> How does this cover executables named file.crap?
>
> Maybe it's better to read the filetype of a file. In this case you
> could use something like the following:
>
> <?php
> $disallowed = array( 'application/exe' ,
> 'application/x-msdos-program',
> 'application/x-dosexec',
> 'application/x-exe'
> );
>
> if (in_array(filetype(t3lib_div::_POST('filename'), $disallowed) {
> echo "mime type doesn't work";
> } else {
> // Rest of the code
> }
> ?>
>
> The mime type array is not complete I think, but in my opinion this
> is a better indication if the filetype is allowed or not.
>
> Hope this helps you out a bit ;-)
>
> Greetz
>
> Op 14-jun-2007, om 14:42 heeft dave typo het volgende geschreven:
>
>> I'm trying to write php that disallows the posting of specific
>> files,
>> namely php files and exe files
>>
>> if someone could look over this snippet and tell me if it works or
>> not that
>> would be appreciated.
>>
>> <?php
>>
>>
>> $filelinks=t3lib_div::_POST('file_name'); // the posting of the
>> file name
>>
>> $exttypes = "php3,php,exe"; //
>> list of
>> extensions that shouldnt be used
>> $fileextension = substr($filelinks,0,strpos($filelinks,".")); //
>> get the
>> extension after the .
>> if ($fileextension == $exttypes['php']['php3']['exe']) { //
>> if the
>> file extension equals php, php3, or exe
>> echo "mime type doesn't
>> work"; //if the
>> extension is php, php3, exe, than echo doesn't work
>> }
>> if ($fileextension != $extypes['php']['php3']['exe']) { //
>> if the
>> file extension doesn't equal php, php3, or exe than
>> //
>> store the
>> file
>> $filelinks = $this->storeFile();
>> }
>>
>> ?>
>>
>>
>> I'm not a programmer, and I'm very new at php so im sure there are
>> errors
>> and stupid logic in my code.
>>
>> It would be greatly appreciated if anyone here could critique and
>> rip apart
>> my code.
>>
>> thank you,
>>
>> -dave
>> _______________________________________________
>> TYPO3-english mailing list
>> TYPO3-english at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english
>
> _______________________________________________
> TYPO3-english mailing list
> TYPO3-english at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english
More information about the TYPO3-english
mailing list