SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.12.2017, 10:54:34
Paykoman Paykoman ist offline
Anfänger
 
Registriert seit: Dec 2017
Alter: 32
Beiträge: 2
Paykoman befindet sich auf einem aufstrebenden Ast
selfphp File_upload Tutorial und ermitteln des mime-types

Hallo Forum,

ich bin heute auf euer Tutorial gestoßen und da ich meine Uploads eh noch validieren muss dachte ich mir gut, gehen wir es jetzt an!

Viele viele Sachen sind wirklich gut erklärt und sehr hilfreich, leider habe ich ein Problem mit dem ermitteln von MIME-Typen. Ihr habt da eine schöne Beispielklasse für den Fall das man nicht auf die finfo zugreiffen kann und falls doch leider nur ein sehr sehr kurzes snippet das nicht funktioniert!!!

PHP-Code:
if( !$finfo finfo_open(FILEINFO_MIME_TYPE) ){ echo 'no func'; exit; }
$mime_type mime_content_type($finfo$_FILES['file']['tmp_name']);
finfo_close($finfo);
echo 
'finfo result: '.$_FILES['file']['tmp_name'].' -> 'var_dump($mime_type); exit; 
liefert: finfo result: /tmp/phpLTTq21 -> bool(false)

Ich habe dann natürlich noch ein wenig rum experimentiert, vor allem weil es mich verwundertder das '$finfo' nicht benutzt wird beim ermitteln.

PHP-Code:
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime_type $finfo->buffer(file_get_contents($_FILES['file']['tmp_name'])); // $finfo->file($_FILES['file']['tmp_name']);
finfo_close($finfo);
echo 
'finfo result: '.$_FILES['file']['tmp_name'].' -> 'var_dump($mime_type); exit; 
Lieferte dann:
Code:
finfo result: /tmp/phpaQAIio -> string(10) "text/plain" // $finfo->file
finfo result: /tmp/phpvbShIL -> string(19) "application/x-empty" // file_get_contents

Nun wundert mich nicht das mansche "Löcher" in Ihr System haben wenn es einem so schwer gemacht wird diese zu stopfen.
Sinn und Zweck ist es ja die MIME zu ermitteln damit wir VOR dem verschieben in einen anderen Ordner an Hand von MIME eine Extension setzten können, offensichtlich fällt PHP dies aber schwer solange die Datei sich noch in dem php temporären Ordner befindet.

Über entsprechende Hilfe wäre ich sehr Dankbar.

MfG: Paykoman

PS: Es wird der EXIF-Header erwähnt und das dort nach wie vor Schadcode enthalten sein kann aber nicht den Hauch eines Ansatzes um was dagegen zu tun... Ist Datei-technisch nicht möglich es heraus zu filtern oder gilt der Ansatz die Dateien entsprechend nicht ausführbar machen (CHMOD + Direktaufruf ausschließlich Medium darstellen und unterdrücken von z.B. php code(wie?) ).
Mit Zitat antworten
  #2  
Alt 29.12.2017, 12:16:01
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 38
Beiträge: 153
chorn befindet sich auf einem aufstrebenden Ast
AW: selfphp File_upload Tutorial und ermitteln des mime-types

Also das erste Beispiel ohne das $finfo funktioniert bei mir, das native mime_content_type() nimmt ja auch nur einen Parameter entgegen. Das schmeisst dann auch einen Fehler. (exactly one parameter required, two given)
Mit Zitat antworten
  #3  
Alt 06.01.2018, 08:53:35
Paykoman Paykoman ist offline
Anfänger
 
Registriert seit: Dec 2017
Alter: 32
Beiträge: 2
Paykoman befindet sich auf einem aufstrebenden Ast
AW: selfphp File_upload Tutorial und ermitteln des mime-types

Nun gut, inzwischen hatte ich anderes zu erledigen aber jetzt ging es wieder an dieses Thema.

Ist etwas verwirrend warum im Tutorial da extra eine Instanz öffent und in einer Variable ablegt.

In meinem Test war jetzt:
PHP-Code:
$mime_type mime_content_type($_FILES['file']['tmp_name']);
echo 
'finfo result: '.$_FILES['file']['tmp_name'].' -> 'var_dump($mime_type);
// result : finfo result: /tmp/phpvvlkNA -> string(9) "image/png" 
ausreichend, kann man das so dann im Produktivsystem einsetzen oder muss da noch was beachtet werden?

MfG: Paykoman
Mit Zitat antworten
  #4  
Alt 08.01.2018, 14:31:16
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 38
Beiträge: 153
chorn befindet sich auf einem aufstrebenden Ast
AW: selfphp File_upload Tutorial und ermitteln des mime-types

Um den Mimetype einer Datei in einem komischen Format, und den Pfad deines TMP-Verzeichnisses auf deinem Produktivsystem zu exposen kannst du das benutzen, ja.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:17:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.


© 2001-2018 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt