Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP-Skript-Zugriffsberechtigung im Apache

Empfohlene Antworten

Veröffentlicht

Folgendes System:

Apache 2 auf einem Windows2000 Server

mehrere virtuelle Hosts

Ich suche eine Möglichkeit die Skripte jedes einzelnen Hosts auf ein bestimmtes Verzeichnis zu beschränken.

Beispiel:

Mit PHP kann ja eigentlich auf jedes beliebige Verzeichnis zugegriffen werden. Wie kann ich das einschränken, so dass keiner mit einem PHP-Skript auf z.B. C:/WINDOWS zugreifen kann? Das muss doch sicher irgentwie gehen?

Ich hoffe Ihr versteht was ich meine

gruss

markus

... ich verstehe das gerade nicht, weil beide Sätze irgendwie komisch formuliert sind.

Auf welcher Ebene willst Du die Rechte einschränken?

Auf dem Server oder bei den Benutzern?

(Sehr dunkle Erinnerung serverseitig: HTACCESS-KEY? in der Registry setzen, oder?)

  • Autor

Gut... Es ist so:

Bei meinem Schwiegervater steht ein Windows2000 System mit einem Apache-Webserver. Er möchte für Freunde und Bekannte darauf Webspace hosten und jedem eine Domäne, PHP und Datenbank zur Verfügung stellen.

Bsp.: Jetzt läd ein Bekannter zum Beispiel ein PHP-Skript in sein Webverzeichnis. D. h. auf den virtual Host des Bekannten auf dem Webserver meines Schwiegervaters (soweit klar? :) ). In diesem PHP-Skript greift der Bekannte aber auf Verzeichnisse zu, die außerhalb seines Web-verzeichnisses liegen (das ist doch theoretisch möglich!?). Und genau das möchten wir verhindern. Daß der Bekannte mit seinem PHP-Skript wirklich nur Zugriff auf die Dateien innerhalb seines Web-Verzeichnisses hat.

Verständlich? Ich glaub nicht, aber ich weiß nicht, wie ich es besser erklären soll. :D

unter linux wäre das ja einfach aber unter windows...

ich bi nmir nicht sicher, aber klappt das mit ner .htaccess Datei?

also wenn man direkt unter C:\ ne .htaccess legt die den Zugriff auf das laufwerk sperrt bzw. nur mit Authentifizierung zulässt?

  • Autor

*Überlegt*

Das könnte gehen. Gibts dafür keine Einstellungen in der conf oder php.ini? Ich meine es gibt doch auch Hostingpakete auf Windowsbasis. Die müssen diese Sicherheit doch auch gewährleisten!?

Aber das mit der .htaccess könnte funktionieren.

Muss ich mal versuchen

wenn du dem apache sagst er soll au die .htaccess hören bevor er seine eigenen richtlinien befolgt müsste das eignetlich funktionieren, so hat as n kollege vor ner zeit mal gemacht.

du kannst aber auch über Windowsbenutzer und richtlinien das machen.

du erstellst einen neuen Windowsbenutzer über den der Apache läuft, und über lokale richtlinien und so stellst du ein das dieser benutzer ausschließlich zugriff auf sein Laufwerk hat.

cool, was man da alles einstellen kann ...

Mir fehlt bloss in meiner Vorstellung der generelle Bezug, wann ich PHP-Scripten verbiete was zu tun, wann auf Dateiebene (z.B. Ausfuehrrechte Rechte umsetzen), Serverebene usw.

Kann man dann auch mit nem z.B. mit nem Perlscript auf C:\Windows zugreifen? (vorausgesetzt Perl ist installiert)

Worauf ich hinaus will ... kann man nicht gleich allen php-scripten, allen Perlscripten und Aehnlichem C:\Windows verbieten?

Wo steht so was konzeptemaessig?

(Ich betreue keinen Server Tag fuer Tag und an den Serverkurs vor 2 Jahren, der ne Woche ging, kann ich mich mehr schlecht als recht erinnern. Und ich denke schon, dass das noch unter Allgemeinbildung eines IT-Menschen faellt und ich kann ja wenigstens etwas mitdenken, warum was gemacht wird.)

  • Autor

Es geht mir nicht mal nur um C:/Windows

Es geht grundsätzlich darum:

Jeder (nennen wir sie) Kunde hat einen zugewiesenen Webspace, also einen Ordner auf der Festplatte. Der Apache linkt alle Anfragen, die dem Domainnamen des Kunden entsprechen natürlich auf dieses Verzeichnis. Auf dieses Verzeichnis kann der Kunde seine Skripte und/oder HTML-Dateien hochladen (FTP) - was er halt gerade so braucht.

Mit PHP-Skripten hat man die möglichkeit Dateien zu schreiben, egal welcher Art und wo auf dem Server. Dieses "Wo" möchte ich auf den Webspace des Kunden beschränken, sowohl schreibender als auch lesender Art.

Ich der denke das Modul von Terran Marine ist genau das was ich gesucht habe, kam allerdings bisher noch nicht zum Testen. Hört sich aber nach gesuchten Funktionen an.

Ich werde mich melden, wenn es Fortschritte gibt...

-

Kann man dann auch mit nem z.B. mit nem Perlscript auf C:\Windows zugreifen? (vorausgesetzt Perl ist installiert)

Worauf ich hinaus will ... kann man nicht gleich allen php-scripten, allen Perlscripten und Aehnlichem C:\Windows verbieten?

Wo steht so was konzeptemaessig?

(Ich betreue keinen Server Tag fuer Tag und an den Serverkurs vor 2 Jahren, der ne Woche ging, kann ich mich mehr schlecht als recht erinnern. Und ich denke schon, dass das noch unter Allgemeinbildung eines IT-Menschen faellt und ich kann ja wenigstens etwas mitdenken, warum was gemacht wird.)

Unter Linux/Unix gibt es die Möglichkeit solche Dienste in einen chroot einzusperren, sie können sich dann nur noch innerhalb ihres Verzeichnisses bewegen und nicht mehr auf darüberliegende Ordner zugreifen.

Weiß allerdings ob Windows das auch in dieser Form unterstützt.

Grüße

Terran

*oops* bin etwas spät dran... 00000002.gif

Schau dir mal das Apache-Modul mod_userdir an. - Das dürfte genau das sein, was du suchst.

also für PHP kannst du folgendes machen (weiß nicht ob du sowas

gesucht hast)

in der PHP.ini kann man einstellen auf welche Ordner man maximal

zugreifen darf:

; open_basedir, if set, limits all file operations to the defined directory

; and below. This directive makes most sense if used in a per-directory

; or per-virtualhost web server configuration file. This directive is

; *NOT* affected by whether Safe Mode is turned On or Off.

open_basedir = c:\daten\ftp\homepage

in der PHP.ini kann man einstellen auf welche Ordner man maximal

zugreifen darf:

Wenn der SAFE_MODE an ist, bezeichnet Open_BaseDir nur die Verzeichnise, auf die man zusätzlich zum eigenen Verz. des Skripts + alle darunterliegenden Verz. zugreifen kann.

Mit SAFE_MODE ist der Zugriff nur auf Dateien im eigenen Verz. (bzw. darunter) erlaubt.

Ich denke das ist ja das, was er haben will, oder?

  • Autor

Richtig Jesterday... Danke für Eure schnelle Antworten.

Kam erst vor kurzem dazu es auszuprobieren und es funktioniert genau so, wie ich es mir vorgestellt habe.

Es ist sogar darüber möglich bestimmte PHP-Funktionen zu blocken, hab ich gesehen.

gruss

markus

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.