phpbar.de logo

Mailinglisten-Archive

[php] Noch einmal: Bitte an die Experten

[php] Noch einmal: Bitte an die Experten

Manuel Hossfeld lists_(at)_hossfeld.de
Sun, 6 Jun 1999 23:03:25 +0200


Hallo,

> > include und require, um darauf zurückzukommen, lesen die Daten ja,
> > aber ich komme nicht dran, die schreibt der z.B. gleich auf den
> > screen, wenn ich eine Seite erzeuge. Soweit ok. Beispiel:
> > 
> >         require("http://pferdezeitung.com/impressum.txt");
> >         echo "
> >               </TD>
> >             </TR>
> >           </TABLE>
> >         </BODY></HTML>
> >         ";
> > 
> > erzeugt z.B. den Rest der Seite mit dem Impressum.
> 
> Dazu fällt mir gerade nichts ein. Vielleicht hat da Manuel eine Idee?

Hoppla... Was macht mich plötzlich zum ausgewiesenen "require und include
Experten"? :-)

Wie dem auch sei, ich denke an dieser Stelle wäre eher ein "Unix-Rechte und
Apache-Konfigurations-Experte" angesagt (der ich nicht bin).
Ich würde die Sache jedenfalls so zusammenfassen (z.T. etwas spekulativ):

- Wenn der Apache als Nobody (oder als sonstwas unterprivilegiertes) läuft,
kann man sich beliebiges Lesen und Schreiben von Dateien abschminken, es sei
denn man legt dazu ein Verzeichnis an das "world read- und writeable" ist (und
das ist, wie Egon schon sagte, ziemlich unsicher)

- Alternative: Der Provider benutzt das suEXEC-Feature vom Apache, dann können
die Skripte auch mit "ihrer eigenen" User-ID laufen (d.h. mit den
Berechtigungen des Provider-Kundens)

- Offenbar werden die konkreten Berechtigungen beim Lesen von Files
unterschiedlich ausgewertet, je nachdem ob es sich um require/include oder um
"reguläres" Lesen (z.B. mir fread etc.) aus dem Skript heraus handelt. Woran
das konkret liegt - keine Ahnung. Man sollte auch nicht aus den Augen
verlieren, daß sich die Entscheidung, ob eine Datei konkret gelesen werden kann
oder nicht beim Apache mit MOD_PHP an zweierlei "Sorten" von Berechtigungen
festmacht: Einmal die User-ID des Servers und die damit verbundenen
(Unix-)Schreib/Leserechte, und zum anderen die Rechte die man einzelnen
Verzeichnissen/Dateien durch die Apache-Konfiguration mitgibt. Wobei man bei
letzterem auch noch zwischen "physischen" und "virtuellen" Pfaden (siehe Apache
"directory" vs. "location" Direktive) sowie zwischen "außerhalb" und
"innerhalb" des Apache documentroots unterscheiden müsste. Mein Eindruck: Die
möglichen Kombinationen aus all dem sind (wie man sieht) beliebig kompliziert -
und ohne die genaue Sachlage beim Provider zu kennen und/oder an seiner
Apache-Konfiguration ´rumzubasteln kann man vermutlich nicht viel machen.

> > Da will ich ja
> > nicht immer den ganzen Quatsch herbeten, habe mir also ein Template
> > geschrieben. Das Template schreibt die ganze Seite, mit Kopf und Fuß
> > und allem Pipapo.
> > [...Templates mit Variablen...]

Mein Rat an Werner: Probier für sowas mal "FastTemplate". Gibt´s bei
http://www.thewebmasters.net/php - ich habe damit schon mal ähnliche Sachen
gemacht.

CU,
Manuel

-- 
Quote of the month:
"The parade that´s electrical, it serves no real purpose
 Takes up a lot of juice, just to impress us."
	(No Doubt, "Tragic Kingdom")


php::bar PHP Wiki   -   Listenarchive