Webstatt.org - Community seit 2006 - 2012 (2024?)

PHPSecurePages Script

Avatar user-118
30.03.2006 12: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"zwinkern; 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

Ich brauche keine Signatur
Avatar user-253
30.03.2006 13: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 user-129utzer 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 user-129utzer 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 user-129utzer die Aktion ausführen.


Viele Grüße,
Michael

Avatar user-118
30.03.2006 14:24

Original von user-251el
zu deiner zweiten Frage:

Einen anonymen user-129utzer 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 user-129utzer 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 user-129utzer 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

Ich brauche keine Signatur