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 ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.05.2006, 23:03:35
Lütti Lütti ist offline
Anfänger
 
Registriert seit: May 2006
Beiträge: 2
Datei Upload bestimmte Dateitypen abfangen

Hallo,
hab mich gerade hier angemeldet weil ich nicht weiterkomme.
Habe einen FTP Upload und möchte nun verhinden das bestimmte Dateitypen, wie zb. php Scripte oder sonstige Scripte die schaden anrichten könnten, hochgeladen werden.
Nun weiß ich schon so viel, dass man mit dem Array $_FILES['Dateiname']['type'] den MIME-Typ abfragen kann.

Allerdings hab ich nirgendwo gefunden wie man das oben beschriebene Problem lösen kann.

Hoffe ihr bring dem Abhilfe.
Vielen Dank
Sven L.
Mit Zitat antworten
  #2  
Alt 01.06.2006, 00:24:24
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Datei Upload bestimmte Dateitypen abfangen

Also, wenn das ein wirklicher Upload per FTP ist, dann kannst du das gar nicht so wirklich verhindern - da lässt sich nämlich alles hochladen. Ich vermute also eher, dass du nen Upload per Formular hast, richtig?

In diesem Fall ist die Frage, ob du alles hochgeladen haben willst, was irgendwie geht (bis auf böse Scripte) oder nur ganz bestimmte Sachen (z.B. Bilder). Wenns nur Bilder sein sollen tust du dich relativ einfach, da du dann wirklich nur auf die MIME-Typen schauen musst.
Ansonsten würd ich in diesem einen Fall auch empfehlen, auf die Dateiendung zu schauen. Wenn du alles ausfilterst, das ne Endung hat, die von deinem Webspace durch den PHP-Parser geschickt wird, ist das schon mal ein ganz guter Anfang. Den Rest, den du nicht haben willst, kannst du dann wiederum über MIME ausfiltern.
Allerdings, sollte das Script auf ner Unix-Kiste liegen, dann kannst du auch ganz einfach mal per chmod das Execute-Recht wegnehmen. Dann lässt sich das Script nicht mehr ausführen und es kann eigentlich nicht mehr viel passieren - sofern meine Vorstellung von Unixartigen Betriebssystemen jetzt nicht völlig Banane ist...
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #3  
Alt 02.06.2006, 16:27:20
Gamerfun Gamerfun ist offline
Anfänger
 
Registriert seit: Dec 2005
Ort: Izmir
Alter: 35
Beiträge: 30
AW: Datei Upload bestimmte Dateitypen abfangen

Du könntest die Erweiterungen, die erlaubt sind in einen Array angeben und sie dann mit ?in_array? abfragen.
Weiss jetzt nicht ob die Funktion in_array() heist.
__________________
Mitleid bekommt man umsonst, Neid muss man sich verdienen.
Mit Zitat antworten
  #4  
Alt 02.06.2006, 17:07:30
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Datei Upload bestimmte Dateitypen abfangen

Genau das funktioniert nicht so einfach. Denn eine Datei kann jede beliebige Dateiendung haben, was drin ist steht auf nem ganz anderen Papier. Insbesondere Linux schert sich im Großen und Ganzen nen Dreck um Dateierweiterungen. Wenn ne Datei ausgeführt werden darf, dann kann man das mit Linux auch versuchen - wenns keine ausführbare Datei war, na ja, dann gehts halt einfach nicht.

Wenn du jetzt also prinzipiell z.B. jpg´s zulässt und dir schiebt einer n jpg aufn Server, das in Wirklichkeit n böses Script ist und schaffts dann auch noch, das auszuführen - dann hast du ein Problem. Darum ja mein Vorschlag: Alle Dateierweiterungen ausfiltern, die vom Apache irgendwie speziell ausgeführt werden (der guckt nämlich auf die Dateierweiterung), und ansonsten entweder ungewollte MIME-Typen blocken oder gleich das Execute-Recht kollektiv entfernen. Solang die User dann keinen Zugriff auf chmod-Funktionen haben, kann dann eigentlich nix mehr passieren.

PS: Wichtig für die Liste der unerwünschten Dateien: .htaccess und .htpasswd!
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #5  
Alt 03.06.2006, 01:04:43
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Datei Upload bestimmte Dateitypen abfangen

Zitat:
Zitat von Lütti
Nun weiß ich schon so viel, dass man mit dem Array $_FILES['Dateiname']['type'] den MIME-Typ abfragen kann.
1. Die Angabe stammt vom Client, ist also unzuverlässig.
Den tatsächlichen MIME Type fragt man mit mime_content_type() ab.

2. Die Extension bekommst Du von pathinfo().

3. achte darauf, daß Du keine Files mit dem execute Flag (0755, 0775, 0777) erzeugst.

4. es ist ratsam, in dem Verzeichnis das Parsen von PHP Files auszuschalten:
lokale php.ini:
Code:
engine = Off
.htaccess
PHP-Code:
php_flag engine off 
Zitat:
Allerdings hab ich nirgendwo gefunden wie man das oben beschriebene Problem lösen kann.
Dafür gibt es keine Komplettlösung.
Mit Zitat antworten
  #6  
Alt 09.06.2006, 11:11:31
Lütti Lütti ist offline
Anfänger
 
Registriert seit: May 2006
Beiträge: 2
AW: Datei Upload bestimmte Dateitypen abfangen

Danke Meikel genau danach habe ich gesucht. Kannte die Fkt. pathinfo() gar net. Naja alles klar damit kann ich ja jetzt bequem die Dateierweiterungen herausfiltern. Habs auch schon getestet und es funktioniert.

Danke allerseits.
Grüße Sven
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei an File Upload Feld übergeben SuppenHuhn PHP Grundlagen 2 15.08.2005 16:22:28
Ein Datei UPLOAD? Funjoy PHP Grundlagen 23 03.08.2003 17:38:28
Text an eine bestimmte Stelle in Datei schreiben Joerg Herche PHP für Fortgeschrittene und Experten 1 11.04.2003 15:39:43
datei upload .... wie heißt die datei makese PHP Grundlagen 2 09.01.2003 09:47:15
Datei Upload... DeMaephis PHP für Fortgeschrittene und Experten 2 20.07.2002 23:25:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:49:57 Uhr.


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


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