Willkommen in der Webstatt Zum Webstatt Blog und Stories
Al3x0r Al3x0r am 30.03.06 14:55

Guten Tag,
Ich habe mir das Script PHPSecurePages von http://www.phpsecurepages.com/ runtergeladen.

Ebenso habe ich versucht in meine Seite vernünftig einzubinden, dies misslingt allerdings total.

Ich include bei meiner Homepage die Dateien in den Content bereich. Also in etwa so.

<a href="index.php?param=login>Login</a>

switch ($param) {
case 'login' :include ("login.php"); break;
}


Das ist ja auch alles schön und gut, es ist nur so, dass sobald die Login Seite geladen wird in dem Loginscript irgendwas à la "ab hier seite nicht mehr weiterladen" steht, sodass der rest meiner hauptseite dann nicht mehr geladen wird.
Ich habe keine Ahnung wieso das so ist... Vielleicht hat ja jmd, der sich auch schonmal mit dem Script befasst hat eine Idee.

Zweites Problem:

Wie definiere ich in diesem Script, dass eine Seite sowohl von eingeloggten als auch von nicht eingeloggten Usern gesehen werden darf. Das ding ist, dass sobald jmd, der sich eingeloggt hat auf eine "freie" Seite geht, ich in dieser die Daten, die in seiner Session stehen in Form von z.Bsp. der Ausgabe seines Loginnamens im Gästebuch darfstellen möchte.

Ich habe schon gedacht, dass ich ( wie ich einst in einem andere Thread angekündigt habe ) sowas selber programmiere, aber es sollte ja alles auch halbwegs sicher sein.

Falls ich sowas selber coden würde, würde ich beim besuch der Seite dem jeweiligen User eine Session zuweisen (kann man das so sagen?) und dann das Userlevel beispielsweise auf 0 setzen. Falls sich diese Person nun einloggt und beispielsweise das Userlevel 3 bekommt, wird die 0 in der Session durch die 3 ersetzt und nun kann er eben die Seiten besuchen, die man nur mit dem Userlevel 3 besuchen kann. Am Anfang jeder Seite wird dann geguckt welches Userlevel der User hat und danach wird entschieden, ob er eben die Seite einsehen darf oder nicht.

Wie sieht es da aus mit der sicherheit ?
Wäre das ein möglicher Ansatz oder lieber komplett anders ?

mfg Alex

netcup.de Warum gibt es hier Werbung?
Michael Michael am 30.03.06 15:22

Hey,

zu deinem ersten Problem:

Wir das Loginscript tatsächlich aufgerufen? Fall register_globals off sind ist $param nämlich leer, hier solltest du $_GET['param'] verwenden.
Wenn es sicher aufgerufen wird, schaue ich es mir noch einmal genauer an, vermutlich kann man aber ohne das andere Script nciht viel dazu sagen

zu deiner zweiten Frage:

Einen anonymen Benutzer als Gast mit einem Userlevel von 0 zu behandeln ist sehr sinnvoll. Auch dein Ansatz das Level in der Session anzupassen klingt gut.
Eine kleine Anregung hätte ich allerdings noch: Je größer dein Script wird desto wahrscheinlicher gibt es Benutzer mit teilweise verschiedenen Rechten (der eine darf News psoten, der andere dafür News editieren usw), hier wird es mit deinem System schwierig, du bräuchtest für jede Rechtekombination eine Zahl.
Mein Vorschlag du ordnest Usern Gruppen zu und die Gruppen haben Rechte. Jeder User darf beliebig vielen Gruppen zugeteilt sein und sobald eine Gruppe das nötige Recht hat darf der Benutzer die Aktion ausführen.


Viele Grüße,
Michael

Al3x0r Al3x0r am 30.03.06 16:24

Quote
Original von Michael
zu deiner zweiten Frage:

Einen anonymen Benutzer als Gast mit einem Userlevel von 0 zu behandeln ist sehr sinnvoll. Auch dein Ansatz das Level in der Session anzupassen klingt gut.
Eine kleine Anregung hätte ich allerdings noch: Je größer dein Script wird desto wahrscheinlicher gibt es Benutzer mit teilweise verschiedenen Rechten (der eine darf News psoten, der andere dafür News editieren usw), hier wird es mit deinem System schwierig, du bräuchtest für jede Rechtekombination eine Zahl.
Mein Vorschlag du ordnest Usern Gruppen zu und die Gruppen haben Rechte. Jeder User darf beliebig vielen Gruppen zugeteilt sein und sobald eine Gruppe das nötige Recht hat darf der Benutzer die Aktion ausführen.


Viele Grüße,
Michael


Das ist ne super idee...

Ich würde nun eine Mysql Tabelle erstellen, in der die informationen zu den jeweiligen usern drinne steht, also das passwort , der loginname, die gruppenzugehörigkeit, und alles andere.

Dann noch eine tabelle die dann meinetwegen group heisst, in der festgelegt ist, was welche group darf, und wer in welcher group ist... oder gibt es eine sinnvollere lösung bzw. tabellenverteilung ?

mfg Alex

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt