Login/Useridentifikation in globaler Variable?

Hallo,

ich möchte einen Online Shop realisieren und da stellt sich mir die Frage wie ich den User durch meine Site identifiziere.

Ich habe mehreren Tuts und Faqs entnommen, daß es für die Masse besser ist, auf SessionIDs und Cookies zu verzichten. (Ist das richtig?)

Es werden auch viele Tricks und Hinweise auf das Überprüfen und verifizieren der ASP-übergebenen UID´s geboten, aber geht es nicht einfacher?

MEINE FRAGE:
Kann ich nicht einfach nach der Identifizierung eine globale Variable im Hauptframe mit der UserID der Datenbank belegen, auf die ich dann von jeder Unterseite aus zugreifen kann?

Die Variable ist dann nur nach erfolgreichem Login belegt und kann auch nicht vom User verändert oder eingesehen werden.

IST SOWAS MÖGLICH, wenn ja, lege ich dann eine JavaVariable oder VB-ScriptVar an? Was wäre die beste Lösung???

Danke für ausführliche Antworten…

Globale Variable = Session = Cookie

Kann ich nicht einfach nach der Identifizierung eine globale
Variable im Hauptframe mit der UserID der Datenbank belegen,
auf die ich dann von jeder Unterseite aus zugreifen kann?

jein. DIE globale variable gibts nur mit sessions

du könntest die variable ständig „mitschleifen“ (hidden felder bzw. über die url), aber dann kann jeder im quelltext bzw. in der url die felder und deren werte einsehen…

ich würde trotz deiner bedenken punkto allgemeiner verfügbarkeit der seiten auf sessions setzen…

JJLehto

Globale Variable in textbox im Hauptframe?
Wenn ich jetzt aber in einem Frame: „hidden“ Größe = 1px des Hauptfensters ein formular: „uid_form“ mit einer hidden Textbox: „uid_txt“ erstelle, und diese Textbox nach dem Login mit der UserID fülle:
Kann ich dann nicht mit
top.hidden.document.uid_form.uid_txt.value
von überall aus zugreifen?

Z.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Variable in der Form benötigt

Wenn ich jetzt aber in einem Frame: „hidden“ Größe = 1px des
Hauptfensters ein formular: „uid_form“ mit einer hidden
Textbox: „uid_txt“ erstelle, und diese Textbox nach dem Login
mit der UserID fülle:
Kann ich dann nicht mit
top.hidden.document.uid_form.uid_txt.value
von überall aus zugreifen?

ich würde sagen: nein. weil du das ja eigentlich am server überprüfen mußt (wenn der user nicht berechtigt ist, soll die seite ja auch nicht zu ihm geschickt werden). auf die userid kannst du aber nur zugreifen, wenn sie im selben formular wie der submit - button ist. in ein 1px großes formular wirst du 1. keinen submit button reinkriegen und 2. hättest du dann sowieso wieder dein „versteck“ verraten…

ok, hab die Fehler gesehen…

ich würde sagen: nein. weil du das ja eigentlich am server
überprüfen mußt (wenn der user nicht berechtigt ist, soll die
seite ja auch nicht zu ihm geschickt werden).

Das ist ein Argument, diese Überprüfung wäre Clientseitig :frowning:

auf die userid
kannst du aber nur zugreifen, wenn sie im selben formular wie
der submit - button ist. in ein 1px großes formular wirst du

  1. keinen submit button reinkriegen

der Frame wäre nur 1px, das Formular ist dann egal

und 2. hättest du dann
sowieso wieder dein „versteck“ verraten…

Stimmt, der Quelltext würde dann den Wert verraten… :frowning:

Mist dann muss ich es doch anders machen!
Hast Du ein gutes Beispiel, wie man einen Login und spätere Identifizierung macht? Weise ich in der Datenbank dem User eine temporäre Session ID nch der authentifizierung zu, oder wie identifiziert man sich später?

Danke Dir…

Z.

Session - Variable

Hast Du ein gutes Beispiel, wie man einen Login und spätere
Identifizierung macht? Weise ich in der Datenbank dem User
eine temporäre Session ID nch der authentifizierung zu, oder
wie identifiziert man sich später?

wenn du für dein web sessions ermöglichst, dann stehen dir session - variablen zur verfügung.

in einer datenbank hast du zb user & passwort abgespeichert.

meldet sich der user auf deiner login - seite an, überprüfst du auf der aufgerufenen seite, ob der user (mit entsprechendem paßwort) existiert. wenn dies der fall ist, setzt du zb. Session(„authentifiziert“) auf TRUE
ist dies nicht der fall, beförderst du ihn auf die login - seite (ev. mit fehlermeldung) zurück.

auf allen weiteren seiten brauchst du nur noch Session(„authentifiziert“) auf TRUE überprüfen… (ist es nicht gesetzt, kommt er wieder zur login - seite)

JJLehto

letze Frage…ist das sicher?
Hi, letzte Frage dazu:

  1. Ist das sicher, kann man die SessionVariabel nicht ändern?

  2. Kann man die Session Variabeln einsehen? wenn ich zb die UserID des Users darin speichere, ist es möglich für den User diese herauszubekommen?

Danke
Z.

ist sicher

  1. Ist das sicher, kann man die SessionVariabel nicht ändern?

ist sicher, kann man (vom client aus) nicht ändern (vom server aus natürlich schon)

  1. Kann man die Session Variabeln einsehen?

nein

wenn ich zb die
UserID des Users darin speichere, ist es möglich für den User
diese herauszubekommen?

nein

Danke

bitte

JJLehto

Es gibt eine Möglichkeit…
Du kannst es so machen, dass sich der User zuerst einloggt (ganz normal per Formular) und Du dann die Benutzerkennung mit der in der DB vergleichst. Wenn die Stimmt vergleichst Du das Passwort… wenn das auch stimmt:

Machst Du irgendeinen Zufallswert aus UserID, Datum und Uhrzeit und verschlüsselst das ganze. Dann übergibst Du das an die weiteren Pages per QueryString…

So kannste dann auf jeder Page serverseitig checken wer der User ist…

Aber wie gesagt…ist ne Kurzbeschreibung…

)

Chris

Das habe ich aber anders gehört :smile:
Ist es ned so, dass Sesssion-Variablen nix anderes als Cookies sind ? Wenn ja, kann jeder User das Cookie anschauen…oder bringe ich da jetzt etwas durcheinander ?

Greets

Chris

Session-Variablen sind sicher!
JJLehto hat recht: Session-Variablen sind sicher!

Ist es ned so, dass Sesssion-Variablen nix anderes als Cookies sind ?

Nein: Session-Variablen sind Variablen, die serverseitig gespeichert werden und einer bestimmten Session (mit einer bestimmten ID) zugeordnet sind. Diese ID (von ASP automatisch erzeugt, z.B. so was wie „AAQQGHFETJDDKSW“) wird dann als Cookie zum Client gesendet.

kann jeder User das Cookie anschauen? Oder
bringe ich da jetzt etwas durcheinander ?

Jeder User kann seine Session ID sehen, wenn er möchte, (den oben erwähnten zufällig erzeugten String), nicht aber, welche Variablen zu dieser ID auf dem Server gespeichert sind. Fordert er eine neue Seite vom Server an, so wird die ID immer mitgesendet. Und der Server prüft dann nur noch, ob die ID noch gültig ist, und welche Variablen in der dazugehörigen Session gespeichert sind. That’s it.

Ciao, Thomas

Aha…habe ich eben doch ein Ghetto gemacht *g*

Ehm…aber wie ist das schon wieder…wie lange ist so ne Session gültig ?

Aha…habe ich eben doch ein Ghetto gemacht *g*

Hä?

Ehm…aber wie ist das schon wieder…
wie lange ist so ne Session gültig ?

So lange Du willst - Du als Programmierer, meine ich: Die Standardeinstellung ist 20 Minuten, aber das „Session“ Objekt hat eine Eigenschaft „TimeOut“, die Du beliebig einstellen kannst:

verlängert die Gültigkeit zum Beispiel auf eine Stunde.

T.

genau…alternativ kann man den Timeout auch am IIS einstellen…

das ist aber nicht ganz fair :wink:
Hi Chris!

ist das die feine englische Art, meinen Artikel zu hinterfragen, zu einer Zeit, zu der ich nicht mehr online bin und mich infolgedessen nicht wehren kann?

aber naja…Thomas Karcher stand mir ja zur Seite…

eine interessante Arbeitswoche wünscht
JJLehto

Ja aber…
…dann schreibe ich halt nix mehr :smile:

Hehe…ich bin ja Mod… also läösche ich einfach Deine Postings *g* :stuck_out_tongue:

Chris

PS: Damit es keine Missverständnisse gibt: Das war NUR ein Witz. Ich will dann ned plötzlich gehängt werden weil ich sowas geschrieben habe *g*

immer auf die Kleinen…

…dann schreibe ich halt nix mehr :smile:

na das wollen wir doch auch nicht…

Hehe…ich bin ja Mod… also läösche ich einfach Deine
Postings *g* :stuck_out_tongue:

da bin ich wohl machtlos…

PS: Damit es keine Missverständnisse gibt: Das war NUR ein
Witz. Ich will dann ned plötzlich gehängt werden weil ich
sowas geschrieben habe *g*

is schon klar…habe schon einiges gelesen von dir und (sonst hätt ich den artikel auch nicht geschrieben) gemerkt, daß du auch spaß verstehst…

…daß die mod’s aber auch immer so mit ihrer macht prahlen müssen…

schöne Grüße,
JJLehto

Wieso immer ´mit QueryStrings???..
Hallo,
Danke für die Kurzbeschreibung, aber eines ist mir noch unklar!
Warum werden die IDs mitgeschleift? Dann brauche ich die SessionVariablen noch nicht, oder wie?
Wenn ich dem User nach erfolgreicher registrierung eine SessionID mit seiner UserID aus der Datenbank verpasse, kann ich doch auch von überall drauf zugreifen, oder? Dann kann ich die ID direkt nutzen für meine Inserts, etc. Die ID kann der User ja nicht verändern, und wenn er sie halt sieht ist doch auch egal…

ZoMbiE

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

is schon klar…habe schon einiges gelesen von dir und (sonst
hätt ich den artikel auch nicht geschrieben) gemerkt, daß du
auch spaß verstehst…

Ja klar…Du verstehst wohl auch Spass. Aber ich habe in anderen Boards gemerkt, dass die Leute teilweise so Sachen meeeega ernst nehmen - und das ist dann ned so toll :smile:

…daß die mod’s aber auch immer so mit ihrer macht prahlen
müssen…

Hehe… hey ich werde weder bezahlt noch sonstwas…irgendwas muss ich ja wohl vom Mod-Posten haben *smile*

Bye

Chris