PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie speichert man am besten...


Crazy Aimer
2002-09-02, 20:19:51
... Eingabedaten eines Logins, zB bei einem Admin-Login einer HP. Das Formular hab ich method="POST" zugeordnet, aber das menü will ich mit links gestalten. dabei muss ich aber daten wie $user und $pw übergeben. wie speichere ich die am besten, dass ich die nicht mit einerm query string übergeben muss? sieht jemand ne möglichkeit? wäre nett! :)

Raziel
2002-09-24, 12:39:42
Naja, die infos sind etwas dürftig, aber wenn ich mal versuche mir den rest zu denken könnte es folgende lösungen geben:

Du wirst ja irgendwo eine Möglichkeit haben die eingegebenen Zugangsdaten gegenüber serverseitigen Daten zu validieren. Ich nehme mal an du nutz dazu eine Datenbank und du nutz entweder PHP oder Perl(der Art der Variblen-Syntax nach zu urteilen).

Nahcdem ein Nutzer seine Zugangsdaten eingebenhat und das Formular abschickt wirst du in einen Script die Daten mit den serverseitig hinterlegten daten vergleichen und daraus erkennen ob die Daten gültig sind.

Gut, hast du den Nutzer als authorisiert erkannt gibt es mehrere Möglichkeiten diese Information zu transportieren. Du kannst dies einerseits manuell vornehmen oder durch die scriptsprache vergefertige Sessions lösen. Zu den Sessions solltest du am besten eine Sprachreferenz durchsuchen. Willst du es jedoch manuell machen, könntest du wie folgt vorgehen:

(mal angenommen du nutz PHP und ne Datenbank)
Zunächst fügst du der Userdatenbank ein weiteres Feld hinzu(z.B.: sid für Session-ID), sobald du den nutzer identifiziert hast erstellst du eine eindeutige ID für den User. z.B.:
$sid=md5(str_replace(".","",$REMOTE_ADDR) + mt_rand(100000,999999) + mt_rand(1000,9999));

Diese SID fügst du in die Datenbank in das Feld sid beim Datensatz des jeweiligen users ein.

nun musst du an jeden Link in deinem Projekt die SID anhägen(z.B. page.php?sid=<? echo $sid; ?>) oder du speicherst die SID als Cookie auf den Rechner des Nutzers(z.B.: SetCookie("sid",$sid,0);)

Danach schreibst du eine kleine Funktion die die SId mit der Datenbank vergleich und so den eingelogt Nutzer identifiziert. Diese Funktion musst du dann an den anfang jeder seite einbauen.

Wenn sich der Nutzer auslogen soll musst du dann nur die sid in der DB auf null setzen.

Hoffe das hat dir etwas geholfen :)

Raziel

Crazy Aimer
2002-09-24, 22:44:26
jo das hilft. mir war nur nicht klar, wie ich das am besten lösen soll. wenn ich das über globale vriablen mache, brauch man sich ja nur den query-string zu kopieren und man kommt immer rein. ich eigne mir mal wissen üer sessions an und schau mal ob ich was hinbekomm.

thx4support :)