php.ini lesbar für alle
Koerschi
- server
0 jobo0 Edgar Ehritt0 globe
0 Der Martin
0 Edgar Ehritt0 Kai345
0 globe
0 jobo
2 globe
2 Der Martin
1 Edgar Ehritt
Ich habe bei meinem Webhosting-Paket eine eigene php.ini-Datei angelegt. Diese liegt in http://www.domain.de/php.ini
Das Problem, ist, dass diese Datei nun natürlich auch über den Webbrowser durch Eingabe der URL lesbar ist. Die Rechte stehen auf 644. Eine Änderung bringt nichts, wird immer wieder automatisch zurückgesetzt.
Gibt es sonst eine Möglichkeit den Zugriff von aussen auf die php.ini einzuschränken? Beim Provider kann ich nichts dazu finden.
Haltet ihr das für ein hohes Risiko oder kann man das einfach so lassen?
Hallo,
Ich habe bei meinem Webhosting-Paket eine eigene php.ini-Datei angelegt. Diese liegt in http://www.domain.de/php.ini
Das Problem, ist, dass diese Datei nun natürlich auch über den Webbrowser durch Eingabe der URL lesbar ist. Die Rechte stehen auf 644. Eine Änderung bringt nichts, wird immer wieder automatisch zurückgesetzt.
Gibt es sonst eine Möglichkeit den Zugriff von aussen auf die php.ini einzuschränken? Beim Provider kann ich nichts dazu finden.
Was soll die php.ini bringen? Völlig unabhängig davon kannst du über .htaccess und "Rewrite" dem Apachen vielleicht "sagen", er solle sie nicht ausliefern.
Haltet ihr das für ein hohes Risiko oder kann man das einfach so lassen?
Naja, hängt von Deinen Ansprüchen ab.
Gruß
jobo
Hallo jobo,
Was soll die php.ini bringen? Völlig unabhängig davon kannst du über .htaccess und "Rewrite" dem Apachen vielleicht "sagen", er solle sie nicht ausliefern.
das ist nicht der vorgesehene Weg, Zugriffskontrolle zu erstellen, auch wenn es funktioniert.
Gruß aus Berlin!
eddi
n'abend,
das ist nicht der vorgesehene Weg, Zugriffskontrolle zu erstellen, auch wenn es funktioniert.
Würde man es richtig™ machen, würde der Kram außerhalb des DocumentRoot liegen. Wie viele 0815-Hoster kannst du nennen, bei denen du dies auch tatsächlich umsetzen kannst?
weiterhin schönen abend...
Hallo,
Würde man es richtig™ machen, würde der Kram außerhalb des DocumentRoot liegen.
<eriwan>Im Prinzip ja.</eriwan>
Allerdings gilt eine php.ini nur für das Verzeichnis, in dem sie liegt. Diese Datei außerhlab des Document Root unterzubringen, wäre also sinnlos.
Wie viele 0815-Hoster kannst du nennen, bei denen du dies auch tatsächlich umsetzen kannst?
Zugegeben: Es gibt viele, die dem Kunden kein Verzeichnis außerhalb des Document Root zugänglich machen.
Ciao,
Martin
Hallo Martin,
Diese Datei außerhlab des Document Root unterzubringen, wäre also sinnlos.
Jain: vgl. configure-Option --with-config-file-scan-dir; weiterhin gibt es auch noch ganz andere Möglichkeiten: Konfiguration/PHP als CGI
Gruß aus Berlin!
eddi
Hallo Globe,
| das ist nicht der vorgesehene Weg, Zugriffskontrolle zu erstellen, auch wenn es funktioniert.
Würde man es richtig™ machen, würde der Kram außerhalb des DocumentRoot liegen. Wie viele 0815-Hoster kannst du nennen, bei denen du dies auch tatsächlich umsetzen kannst?
Deinem ersten Satz stimme ich ja voll zu, nur verstehe ich nicht, was Du aber mit dem zweiten Satz tatsächlich in Erfahrung bringen willst. Die meisten Webhosts gestatten die Nutztung der Rewrite-Engine. Diese ist ursprünglich nicht für Zugriffskontrolle konzipiert.
Gruß aus Berlin!
eddi
[latex]Mae govannen![/latex]
Würde man es richtig™ machen, würde der Kram außerhalb des DocumentRoot liegen. Wie viele 0815-Hoster kannst du nennen, bei denen du dies auch tatsächlich umsetzen kannst?
Ja. Macht meiner auch nicht. Was aber oft funktioniert:
Wenn mir der Hoster /web0815/ zur Verfügung stellt, erstelle ich eben z.B. /web0815/htdocs/, mache das zum doc_root und kann
dann in /web0815/ Date(ie)n ablegen. Immerhin.
Cü,
Kai
n'abend,
Was soll die php.ini bringen?
Es gibt diverse Möglichkeiten PHP anzusprechen, mod_php ist nicht die einzige. Z.B. bei der Integration via CGI schaut der PHP Interpreter nach, ob irgendwo im (Eltern)Pfad eine php.ini liegt, die er als lokale Konfiguration heranziehen kann.
Völlig unabhängig davon kannst du über .htaccess und "Rewrite" dem Apachen vielleicht "sagen", er solle sie nicht ausliefern.
<Files> ist Teil des Apache Cores (also überall verfügbar, sofern nicht "explizit" für's Überschreiben in .htaccess verboten, siehe "AllowOverride"). Order ist Teil der mod_access, ein Standardmodul mit einer vermutlich größeren Verbreitung als mod_rewrite.
»» Haltet ihr das für ein hohes Risiko oder kann man das einfach so lassen?
Naja, hängt von Deinen Ansprüchen ab.
Es ist prinzipiell niemals Ratsam seine Konfiguration zu veröffentlichen. Speziell dann nicht, wenn sie evtl. Informationen enthalten könnte, die es einem potentiellen Angreifer die "Arbeit" vereinfachen würde.
weiterhin schönen abend...
Hallo,
n'abend,
»» Was soll die php.ini bringen?
Es gibt diverse Möglichkeiten PHP anzusprechen, mod_php ist nicht die einzige. Z.B. bei der Integration via CGI schaut der PHP Interpreter nach, ob irgendwo im (Eltern)Pfad eine php.ini liegt, die er als lokale Konfiguration heranziehen kann.
"Aber" .../cgi-bin liegt parallel zu .../htdocs, zumindest nicht unselten? Also kein "Elternpfad"?
<Files> ist Teil des Apache Cores (also überall verfügbar, sofern nicht "explizit" für's Überschreiben in .htaccess verboten, siehe "AllowOverride"). Order ist Teil der mod_access, ein Standardmodul mit einer vermutlich größeren Verbreitung als mod_rewrite.
Schön, wenn sich einer damit auskennt (;-). Wieso kompliziert, wenns auch einfacher geht.
Es ist prinzipiell niemals Ratsam seine Konfiguration zu veröffentlichen. Speziell dann nicht, wenn sie evtl. Informationen enthalten könnte, die es einem potentiellen Angreifer die "Arbeit" vereinfachen würde.
Daher meine Verwunderung, dass das überhaupt geht.
Gruß
jobo
你好 jobo,
"Aber" .../cgi-bin liegt parallel zu .../htdocs, zumindest nicht unselten? Also kein "Elternpfad"?
CGI-Scripte kann man auch außerhalb von cgi-bin ausführen. Siehe Options ExecCGI.
再见,
克里斯蒂安
n'abend,
Gibt es sonst eine Möglichkeit den Zugriff von aussen auf die php.ini einzuschränken? Beim Provider kann ich nichts dazu finden.
Ich gehe davon aus, dass ein Apache Webserver im Einsatz ist und du mittels einer .htaccess Datei bestimmte Regeln setzen darfst. Ist dem so, solltest du mittels der folgenden Files Regel den Zugriff auf deine php.ini (resp. in diesem Beispiel alle ini-Dateien) verbieten können:
<Files "\.ini$">
Order Deny,Allow
Deny from all
</Files>
weiterhin schönen abend...
Hallo,
Ich habe bei meinem Webhosting-Paket eine eigene php.ini-Datei angelegt. Diese liegt in http://www.domain.de/php.ini
bist du Inhaber der Domain "domain.de", die du hier so selbstverständlich verwendest? Verwende bitte für Beispiele nur Domains, die ausdrücklich dafür vorgesehen sind, anstatt real existierende, die jemand anderem gehören.
Das Problem, ist, dass diese Datei nun natürlich auch über den Webbrowser durch Eingabe der URL lesbar ist.
Ist das ein Problem?
Gibt es sonst eine Möglichkeit den Zugriff von aussen auf die php.ini einzuschränken? Beim Provider kann ich nichts dazu finden.
Eine .htaccess mit einem einfachen "Deny from all" in einem <Files>-Container könnte dich glücklich machen. Vorausgesetzt, dein Webserver ist ein Apache.
So long,
Martin
Hallo erstmal!
wenn Dein Webhost den Apachen einsetzt, kannst Du den Zugriff mittels
<Files "php.ini">
[link:http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order@title=Order] [link:http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#deny@title=Deny], [link:http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#allow@title=Allow]
Deny from all
</Files>
in der .htaccess verweigern lassen. Sollte der Webhost keinen Apachen verwenden, oder es zu Problemen kommen, einfach nochmals hier in diesem Thread melden! ;)
Gruß aus Berlin!
eddi
# Zugriff auf php.ini verbieten
<Files "php.ini">
Order Deny, Allow
Deny from all
</Files>
So habe ich es jetzt in die .htaccess eingetragen.
Dafür kommt jetzt aber ein 500er-Fehler
Internal Server Error
Die Error-Logdatei sagt:
[Wed Jun 17 10:25:08 2009] [alert] [client XXX.XXX.XXX.XXX] /home/benutzer/public_html/.htaccess: order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'
n'abend,
Zugriff auf php.ini verbieten
<Files "php.ini">
Order Deny, Allow
Das Leerzeichen zwischen "Deny," und "Allow" muss weg. "Deny,Allow" ist der erwartete Wert.
Deny from all
</Files>
weiterhin schönen abend...
--
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
n'abend,
weiterhin schönen abend...
Es ist Mittag :D