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

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung 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 > Apache HTTP-Server

Apache HTTP-Server Alles was Ihr über den Apache diskutieren möchtet, gehört hierein

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.11.2004, 20:35:21
xDragonx xDragonx ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 23
Verzeichnisschutz Apache und PHP

Halli Hallo



Wie kann ich bewirken das php scripte nur in dem verzeichnis ( und unterverzeichnisse ) funktioniert und wirksam ist in dem es auch gespeichert wurde.

Ich versuch mal mein problem genauer zu schildern. Es gibt in PHP programierte Scripte (dateibrowser). Eines davon habe ich bei mir installiert. Ich habe solange auf die "button gedrückt" ( die bewirkt das die übergeordnete ordner angezeigt werden ), bis ich auf einmal meine ganze Festplatte vor mir hatte. Ich konnte mich in jedes verzeichnis auf mein laufwerk bewegen. Und sogar gewisse dateien einsehen.
So was ist doch gefährlich denke ich.

Ich wollte das verhindern, und zwar so, das der script wirklich nur zugriff auf den verzeichnis ( und unter verzeichnisse ) in dem es auch installiert wurde.

Ich habe nachgeforscht. im php.ini gibt es open_basedir. Da gebe ich nun das verzeichis an in dem der script installiert wurde, und der script kann nur in dem verzeichniss datei operationen durchführen.

Das ist soweit in ordnung. Was mache ich wenn ich 3 oder 4 verzeichnisse isolieren will. php.ini akzeptiert nur eine verzeichnis angabe.

In der Apache configuration soll das auch möglich sein, auch mit mehreren verzeichnissen. Aber ich habe leider keine anleitung gefunden.

Kann mir jemand helfen.
Mit Zitat antworten
  #2  
Alt 09.11.2004, 09:24:15
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Bau einfach an passender Stelle eine Abfrage rein, ob das ausgewählte Verzeichnis noch in der erlaubten Ebene liegt und verbietest gegebenenfalls die weitere Ausführung:
PHP-Code:
$bis_zu_der_ebene_ist_es_erlaubt='/var/www/domain1/geheim/';
$aktueller_pfad=substr($_SERVER['PHP_SELF'], 0strrpos($_SERVER['PHP_SELF'], '/'));
if (!
strstr($aktueller_pfad$bis_zu_der_ebene_ist_es_erlaubt)) {
    echo 
'Schuft!';
}
else {
    echo 
'Lieb!';

Hab's nicht getestet, aber das sollte ganz wirksam sein.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 09.11.2004, 15:41:50
xDragonx xDragonx ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 23
Danke

danke sehr, das ist aber nicht das was ich suche.
Ich versuche gerade ein script archiv zusammenzustellen, wo auch andere user scripte uploaden können. Da ich aber nicht jedes upgelodedes script testen kann, wie weit es geht sollte das schon in apache webserver konfiguriert sein.

Ich habe hier schon eine Lösung.
Hier sind paar zeilen die den php sicherer machen sollen, und benehmen beibringen.

einfach folgende zeilen ins apache config datei eintragen.

php_admin_value open_basedir /var/www/user1/user1-1.tld/
php_admin_value upload_tmp_dir /var/www/user1/user1-1.tld/temp
php_admin_value session.save_path /var/www/user1/user1-1.tld/temp/

natürlich kann dies auch für jeden virtuelen verzeichnis bzw. viertuelen server gemacht werden. Nur mus es inner halb der definition stehen.

Und in PHP.ini

folgende zeilen ändern.

php_admin_value safe_mode on

disable_functions=system,exec,passthru,popen,escapeshellcmd,shell_exec


Ich weis halt nicht, ob das sicher ist,
vielleicht hat ja noch jemand ideen.
Bitte wenn noch jemand ideen zur php und sicherheit hat einfach posten


Danke trotzdem

Geändert von xDragonx (09.11.2004 um 15:59:26 Uhr)
Mit Zitat antworten
  #4  
Alt 09.11.2004, 15:46:16
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Original geschrieben von xDragonx
Und in PHP.ini

folgende zeilen ändern.

php_admin_value safe_mode on
disable_functions=system,exec,passthru,popen,escapeshellcmd,shell_exec

Ich weis halt nicht, ob das sicher ist
Also damit bist Du doch sehr sicher dran!
__________________
sic!
--> http://dbCF.de/
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 19:31:49 Uhr.


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


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