Tom: Ein paar Fragen zu PHP

Beitrag lesen

Hello Lilli,

Erkläre warum das http://www.eine_Seite.de/?show=index gut bzw. nicht gut ist.

da müsste man ein wenig in die Systemtechnik und die Sicherheitsfragen einsteigen, um das zu erklären. Es ist definitiv schlecht, es so zu machen. Es ist aber schon besser, als wenn man es

http://www.eine_Seite.de/?page=122
  http://www.eine_Seite.de/?page=123
  http://www.eine_Seite.de/?page=124
  http://www.eine_Seite.de/?page=125

so macht.

Was ist der Unterschied?

Es ist die Ordinalisierung des Seitenparameters bei gleichzeitiger Einschränkung des Wertevorrats.
Von 256 Zeichen (oder eben entsprechend URL-Konventionen ca. die Hälfte) reduziert man den Wertevorrat eines Digits auf 10 Zeichen. Damit wird eine so aufgebaute Webseite sehr leicht "grabbable", also die Daten in ihrer Gesamtheit leichter stehlbar. Wenn man den Wertevorrat pro digit erhöht, steigt die Gesamtmenge der möglichen Kombinationen exponentiell an.

Wenn man also nicht will, dass jemand sich einfach _alle_ Daten einverleibt, um sie widerrechtlich (aber das ist immer schwer beweisbar) zu verwenden, dann sollte man das nicht so (mit den Zahlen) machen.

Die Zahlen nhaben aber den Vorteil, dass man erlaubte und verbotene Zeichen sehr leicht voneinander unterscheiden kann.

Wenn man nun auf die Textvariante ausweicht, weil die ja einen größeren Wertevorrat hat, dann muss man sehr genau die Methode auswählen, mit der gearbeitet wird und die erlaubten und verbotenen Zeichen sehr genau auswählen muss. Anderenfalls wäre ggf. sowas möglich

http://www.eine_Seite.de/?index=%2f%2f%2f%2f%2f%2f%2f%2f%2f%2f%2f%2fetc%2f/passwd%20#

und wenn die Aufruffunktion etwas ungeschickt geschreiben ist, wird plötzlich die Passwortdatei des Systems (die ja hoffentlich verschlüsselt oder mit * vershen ist) ausgeliefert. Das Beispiel hinkt natürlich, denn ich will hier keine Anleitungen geben, sondern nur die Möglichkeit aufzeigen.

Es wurde ja schon gesagt, dass der Mod_Rewrite das Mass der Dinge sein könnte.
Was macht den den sicherer?

Ganz einfach: Er benutzt das Pfadsteuerzeichen (Slash) als Parametertrenner und unterbindet dadurch, dass man von außen Pfade einschleppen kann. Außerdem erlaubt der den größtmöglichen Wertebereich, den so ein Paramterstring zulässt. Damit kann man Pfade zur Ressource nicht mehr so leicht erraten.

Den Mod_Rewrite kann man sich übrigens ganz leicht selber bauen.
Du musst nur Dein Error-Dokument auf eine Auswerte-Datei umbiegen und kannst in dieser dann den Paramterstring des Requests zerlgen und aus den einzelnen entstehenden Paramtern die ressource bestimmen, die ausgeliefert werden soll.

Vorteil der Methode allgemein gegenüber dem statischen Web ist die Vermeidung von Redundanzen. Man kan  _eine_ zentrale Funktion für die Berechnung dee Navigation aufbauen, man kann die Köpfe, Füße, Designs und auch aktuelle Nachrichten berechnet einblenden, ohn das auf jeder Seite einzeln programmieren zu müssen. Die Methode mit einer zentralen Index-Datei (oder wie die auch heißt) funktioniert also immer gut bei bestehnder Ploymorphie. Wenn alle Seiten gänlich unterschiedlich sind, sehe ich keinen Vorteil.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau