Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Dateiüberprüfung in PHP
29-04-2008, 01:33 PM
Beitrag: #1
Dateiüberprüfung in PHP
Hey Leute, ich möchte gerne eine Dateiüberprüfung in mein Uploadscript einfügen. Wie kann ich das denn nu machen?

Mit MIMNE.-Typen , Endungen auslesen oder vll mit einer extra Funktion?

Ich habe folgendes zu verfügung:
$_FILES['uploadedfile']['tmp_type']
$_FILES['uploadedfile']['tmp_name']
Usw

Das ganze sollte dann in per IF geprüft werden.

Wer hat denn da eine Idee? :irre:
Toasterfraktion

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
11-05-2008, 03:40 PM
Beitrag: # |
29-04-2008, 05:03 PM
Beitrag: #2
RE: Dateiüberprüfung in PHP
naja prüf bei $_FILES['uploadedfile']['name'] die dateiendung ob php(3/4/5), html und son kack... bzw. ".htaccess" nicht vergessen! ;) vergessen zu viele :D... machts n wenig unsicher ;)
mime types sind einfach n wenig zu viele vorhanden und is einfach mehr arbeit...
klar dass leute dann sachen einfach umbenennen können um den schutz zu umgehen... könnten sie auch wenn dus mit mime types machen würdest ;)

mit tmp_name haste den ort der datei im tmp ordner aufm server mit einerm cryptischen namen ... total sinnlos ;P also später von tmp_name nach pfad+name verschieben die datei, oder einfach in die datenbank übertragen durch auslesen ;)

$_FILES['uploadedfile']['size'] wegen dateigröße.. in bytes ;) so das wars... genau genug?

[Bild: PrometeusX.png]
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
29-04-2008, 05:14 PM (Dieser Beitrag wurde zuletzt bearbeitet: 29-04-2008 05:15 PM von Abbel.)
Beitrag: #3
RE: Dateiüberprüfung in PHP
MIME-Type Überprüfer^^
PHP-Code:
<?php        

                
/*


            

                    Copyright (c) 2008 by me :)

                */

                

                
if(!function_exists('mime_content_type'))

                {

                    function 
mime_content_type($file)

                    {

                        static 
$mimeData;

                        

                        if(!isset(
$mimeData))

                        {

                            
$mimeFile file('./magic.mime');

                            

                            foreach(
$mimeFile as $mimeLine)

                                if(
$mimeLine[0] != '#' && trim($mimeLine))

                                {

                                    if(
preg_match('/^(\S+?)\s+(\S+?)\s+(\S+)(\s+(.+?))?$/si'$mimeLine$regex_mimeDataSet))

                                    {

                                        
$mimeDataSet['offset'] = str_replace('>'''$regex_mimeDataSet[1]);

                                        
$indicator $regex_mimeDataSet[3];

                                        switch(
$regex_mimeDataSet[2])

                                        {

                                            case 
'string':

                                                
$indicator str_replace('\ '' '$indicator);

                                                
$indicator str_replace('\<''<'$indicator);

                                                
$indicator str_replace('\>''>'$indicator);

                                                
$indicator str_replace('\r'"\r"$indicator);

                                                
$indicator str_replace('\n'"\n"$indicator);

                                                
$indicator preg_replace('/\\\\([0-9]{3})/e''chr($1);'$indicator);

                                                break;

                                            case 
'byte':

                                                
$indicator pack('c', @eval('return '.$indicator.';'));

                                                break;

                                            case 
'short':

                                                
$indicator pack('s', @eval('return '.$indicator.';'));

                                                break;

                                            case 
'beshort':

                                                
$indicator pack('n', @eval('return '.$indicator.';'));

                                                break;

                                            case 
'leshort':

                                                
$indicator pack('v', @eval('return '.$indicator.';'));

                                                break;

                                            case 
'belong':

                                                
$indicator pack('N', @eval('return '.$indicator.';'));

                                                break;

                                            case 
'lelong':

                                                
$indicator pack('V', @eval('return '.$indicator.';'));

                                                break;

                                            case 
'long':

                                                
$indicator pack('l', @eval('return '.$indicator.';'));

                                                break;

                                        }

                                        

                                        
$mimeDataSet['indicator']     = $indicator;

                                        
$mimeDataSet['mime']         = str_replace("\r"''$regex_mimeDataSet[5]);

                                        

                                        
$mimeData[] = $mimeDataSet;

                                    }                

                                }

                        }

                        

                                        

                        
$file_content file_get_contents($file);

                        

                        
$retVal 'application/x-object';

                        foreach(
$mimeData as $key => $mimeTest)

                        {            

                            
$testStr substr($file_content$mimeTest['offset'], strlen($mimeTest['indicator']));

                            

                            if(
$testStr == $mimeTest['indicator'])

                            {

                                
$mimeType $mimeTest['mime'];

                                if(
$mimeType == '')

                                {

                                    while(
$mimeType == '')

                                        
$mimeType $mimeData[++$key]['mime'];    

                                }

                                

                                
$retVal $mimeType;

                            }

                        }

                        

                        return 
$retVal;

                    }

                }

                

                echo(
mime_content_type('./testsvr.zip').'<br/>'); // Gibt application/x-zip aus

                
echo(mime_content_type('./Beispiel.jpg').'<br/>'); // Gibt image/jpeg aus

                
echo(mime_content_type('./winkel_wurf.fla').'<br/>'); // Gibt application/x-object aus

                
echo(mime_content_type('./bzcat.exe').'<br/>'); // Gibt application/x-dosexec

                
echo(mime_content_type('./option_group.htm').'<br/>'); // Gibt text/html aus

                
echo(mime_content_type(__FILE__).'<br/>'); // Gibt application/x-httpd-php-5 aus

                

            

            
?>

Code:
public static void main( String[] args )
{
  System.out.println( "Ich bin die Sig" );
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
29-04-2008, 09:46 PM (Dieser Beitrag wurde zuletzt bearbeitet: 29-04-2008 09:47 PM von NewbieX.)
Beitrag: #4
RE: Dateiüberprüfung in PHP
PHP-Code:
$type $_FILES['datei']['type']
$verboten = array("text/html""application/xhtml+xml""application/x-php""application/x-httpd-php""application/octet-stream"); // Z.B.
if(in_array($type$verboten))
{
echo 
"Die Datei hat einen Verbotenen Datei Typ! Dateityp ".$type." !!!!";
die;


[Bild: newbieX.gif]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
Antwort schreiben 



SPIDANET.de - webmaster, fun-stuff & more...
KontaktToasterfraktion HomepageNach obenZum InhaltArchiv-ModusRSS-Synchronisation Impressum Partner
Too Cool for Internet Explorer