php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.07.2008, 21:50  
fdm
Benutzer
 
Registriert seit: 24.05.2008
Beiträge: 39
fdm befindet sich auf einem aufstrebenden Ast
Standard Upload Script hat Probleme mit versch. Browsern [MimeType]

Habe mein Upload Script nun fertig geschrieben. Doch es gibt ein Problem. Ich kann mit Firefox keine mp3 hochladen, obwohl ich es beim Upload Script erlaubt habe. Aber beim IE geht es wiederum. Dann kann ich aber wiederum beim IE keine JPG Bilder hochladen, was bei Firefox geht -.- .

Kurz ... Es scheint so als wären die Mimetypes die bei Google rausgespuckt werden..keine Standards... Jeder Browser reagiert anders x(

Meine Whitelist habe ich in ein Array gepackt:

PHP-Code:
<?php
// mimetypelist.php

$mimetypelist = array("image/jpeg""image/png""image/tiff""video/mpeg""audio/mpeg""image/gif""video/mpeg""application/zip""application/x-rar-compressed""application/msword""video/x-msvideo""audio/mpeg3""audio/x-mpeg-3""audio/mp3" ); // Unsere Whitelist !


// jpg,png,tiff,gif,mpeg,mpg,mpe,mp3,zip,rar,word,avi Erlaubt !

?>
Kennt ihr eine Lösung zu den Mimetypes oder vielleicht eine andere Idee?

mfg
fdm ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.07.2008, 22:15  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Lass dir doch den Mimetyp von deiner Datei die du hochlädst anzeigen. Dann kannst du den noch zur Whitelist hinzufügen.

Bei JPEG gibt es z.b. das noch mit jpg.
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline  
Alt 23.07.2008, 22:18  
fdm
Benutzer
 
Registriert seit: 24.05.2008
Beiträge: 39
fdm befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Lass dir doch den Mimetyp von deiner Datei die du hochlädst anzeigen. Dann kannst du den noch zur Whitelist hinzufügen.

Bei JPEG gibt es z.b. das noch mit jpg.
Sry aber ich habe jetzt das was du meinst nicht so genau verstanden ... wie anzeigen?
fdm ist offline  
Alt 23.07.2008, 22:21  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Naja du vergleichst doch irgendwo die Whiteliste mit der Datei die gerade hochgeladen wurde. Dafür musst du doch den Mimetyp von er Datei wissen. Und genau da kannst du ihn einfach mal ausgeben lassen. Dann siehst du welchen Mimetyp die Datei hat die du hochgeladen hast. Diesen Mimetyp fügst du dann in die Whitelist hinzu und danach kannste die Ausgabe wieder weg machen.
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline  
Alt 24.07.2008, 00:09  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Vergleichst Du gegen $_FILES[]['type']? Da kann irgendetwas drin stehen. Du solltest Dich nicht darauf verlassen.

/test.php auf localhost
PHP-Code:
<pre><?php
var_dump
($_FILES);
?></pre>
upload.php
PHP-Code:
<?php
$f 
fsockopen('localhost'80) or die('socket error');

$body '--david20080723
content-disposition: form-data; name="file1"; filename="harmless.jpeg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

1234
--david20080723
content-disposition: form-data; name="file2"; filename="harmless2.jpeg"
Content-Type: php/de
Content-Transfer-Encoding: binary

1234
--david20080723--'
;

$data 'POST /test.php HTTP/1.0
Host: localhost
Content-type: multipart/form-data, boundary=david20080723
Content-Length: '
;
$body str_replace(array("\r","\n"), array(''"\r\n"), $body);
$data str_replace(array("\r","\n"), array(''"\r\n"), $data);
$data $data strlen($body)."\r\n\r\n".$body;

fwrite($f$data);
while(!
feof($f)) {
  echo 
fread($f1024);
}
Ausgabe:
Zitat:
HTTP/1.1 200 OK
Date: Wed, 23 Jul 2008 21:55:15 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.6
X-Powered-By: PHP/5.2.6
Content-Length: 473
Connection: close
Content-Type: text/html

<pre>array(2) {
["file1"]=>
array(5) {
["name"]=>
string(9) "harmless.jpeg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(22) "F:\xampp\tmp\php14.tmp"
["error"]=>
int(0)
["size"]=>
int(4)
}
["file2"]=>
array(5) {
["name"]=>
string(9) "harmless2.jpeg"
["type"]=>
string(6) "php/de"
["tmp_name"]=>
string(22) "F:\xampp\tmp\php15.tmp"
["error"]=>
int(0)
["size"]=>
int(4)
}
}
</pre>
David ist offline  
Alt 24.07.2008, 00:17  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

das hier habe ich in meinem Uploadscript - ich kann mich erinnern, dass es auch Untrschiede zwischen IE und FF gab, ich etwas nachgebessert habe, und das ganze dann lief:

array('image/jpeg','image/pjpeg','image/gif','image/png','image/bmp')
Wolla ist offline  
Alt 24.07.2008, 00:29  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

@David: Er soll auch nicht den übergebenen Mimetyp überprüfen sondern den Tatsächlichen von der File selber!
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline  
Alt 24.07.2008, 00:32  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Tut fdm aber offenkundig nicht
Zitat:
Zitat von fdm Beitrag anzeigen
Kurz ... Es scheint so als wären die Mimetypes die bei Google rausgespuckt werden..keine Standards... Jeder Browser reagiert anders x(
David ist offline  
Alt 24.07.2008, 00:34  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Nein er hat seine Whitelist anhand google erstellt. Bedeutet nicht dass er anhand $_FILES['type'] es überprüft. Das hat er nirgendwo erwähnt und ein Skript hat er ebenfalls nicht gezeigt.

Allerdings glaube ich auch dass er es daran überprüft.
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline  
Alt 24.07.2008, 00:42  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von fdm Beitrag anzeigen
Ich kann mit Firefox keine mp3 hochladen, obwohl ich es beim Upload Script erlaubt habe. Aber beim IE geht es wiederum. Dann kann ich aber wiederum beim IE keine JPG Bilder hochladen, was bei Firefox geht
fdm geht davon aus, dass der Browser Einfluss hat. Egal, was abgetestet wird (Und mir fällt in der Richtung nur ['type'] ein. Gibt es andere Möglichkeiten?), es ist falsch. Nicht den Schrott, den der Client sendet testen, sondern den Inhalt der Datei prüfen.
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Upload Script andi PHP Tipps 2008 2 17.07.2008 22:43
Probleme mit Pagerankcheck Script! admin83 PHP Tipps 2008 2 29.03.2008 16:42
Probleme mit DL Script + SQL möchtegernchegga PHP Tipps 2006 4 01.08.2006 09:40
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
[Erledigt] Bildergalerie Gallery 1.5-pl1 + Bilder upload Probleme !!!! PHP Tipps 2005-2 6 01.09.2005 23:22
[Erledigt] [PHP] Problem mit Script fuer Browserbasierten Upload PHP-Fortgeschrittene 5 26.12.2004 13:49
Upload Script Juuro PHP Tipps 2004-2 1 21.12.2004 07:34
Probleme mit Datei Upload PHP Tipps 2004-2 2 28.11.2004 16:37
Upload Script - Dateinamen umbenennen PHP Tipps 2004-2 5 06.11.2004 14:58
Upload Script. PHP Tipps 2004 4 05.11.2004 10:53
Ich bin auf der Suche nach einem fertigen Menü Upload Script Beitragsarchiv 7 22.08.2004 18:53
image upload script PHP Tipps 2004 3 15.08.2004 20:18
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
Upload mit Fehlermeldung "The script whose uid is 982 i PHP Tipps 2004 2 06.07.2004 13:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mime type array php, datei upload script funktioniert nicht im firefox, upload mime type firefox, ie upload mimetype, browser upload mime type, php upload mime type problem, php mime type in array, php upload mime-type, kann mit php upload script keine mp3 dateien hochladen, php upload mime type array jpeg, music mp3 upload script, ulpoad mime-type, der mime-typ ihrer datei entspricht nicht unserer whitelist.audio/mp3, mime type php upload, php script für ie jpg bild hochladen, browser datei upload mime type, firefox upload content type, browser upload mime typ, jpg hat kein mimetype, http://www.bilder-hochladen.net/files/dav2-3-jpg.html

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum