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

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 07.09.2006, 13:23:15
atrus2711 atrus2711 ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 1
PHP-Downloads absichern

Hallo Gemeinde,

beim Anbieten von Downloads per readfile() (wie im Kochbuch unter http://selfphp.de/kochbuch/kochbuch.php?code=37 bei SelfPHP beschrieben) stellt sich ja die Frage, wie man verhindert, dass die verlangte Datei völlig frei wählbar ist ("Ausbruchsicherung" gegen Dateinamen wie ../../geheim.txt). Sonst stünde ja der ganze Rechner offen.

Im Kochbuch hat man das gelöst, indem man die herutnerladbaren Dateien in einem Array aufzählt. Mir schwebt ein anderer Ansatz vor. Denke ich bei folgendem Ansatz richtig, wenn ich für meinen Fall nur Downloads von Dateien innerhalb des DocRoot und seinen Subordnern anbieten will?

* Ermittle den dirname der angeforderten Datei (Ergebnis in $dateipfad ablegen)
* Wandle $dateipfad per realname() in einen "laufwerkshaltigen" Pfad um
* Ermittle das DocumentRoot mit $DOCUMENT_ROOT (Ergebnis in $docrootpfad ablegen)
* Wandle $docrootpfad mit realname() in einen "laufwerkshaltigen" Pfad um
* Vergleiche $dateipfad mit $docrootPfad per eregi($docrootPfad,$dateipfad)

Wenn der Vergleich true ergibt, ist die angeforderte Datei im oder unterhalb des DocRoots. Ansonsten wurde versucht, eine Datei sonstwo auf dem Webserver abzugreifen.

Wäre dieser Weg halbwegs gangbar, oder hab ich noch ein Scheunentor offen? Ich nutze XAMPP (Apache 2.0.52, PHP 5.3.1) auf einem Win-2k-Rechner.
Gruß
Mit Zitat antworten
  #2  
Alt 08.09.2006, 22:39:05
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: PHP-Downloads absichern

Also wie ich das sehe hast du verwehrst du damit sinnvoll dem User Zugriff auf Dateien außerhalb vom Serververzeichniss.
Jedenfalls von der Logik her - die einzelnen Schritte hab ich jetzt so nicht getestet.
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
Fehlermeldung in PHP SilverDragon77 PHP Grundlagen 6 27.05.2005 15:11:25
Wie man durch PHP von der Schule fliegen kann?! Jacki Off Topic Area 2 06.08.2004 12:20:39
downloads über php managen |Coding PHP für Fortgeschrittene und Experten 4 17.07.2002 10:58:58
alle downloads über ein php leiten theripper8472 PHP Grundlagen 11 22.04.2002 18:24:03
Einführung in PHP und Datenbanken Lómion PHP für Fortgeschrittene und Experten 7 07.02.2002 13:47:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:53:26 Uhr.


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


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