Sessions

Hoi Leute

Ich bin noch ein Anfänger in Sachen PERL, aber ich interessiere mich sehr stark dafür. Selber hab ich auch schon eine Menge programmiert.
Doch habe ich eine Frage zu diesen Sessions, die ich immer mehr und verstärkt sehe.
Sessions sind doch diese „Dinger“, die einen Link immer so wahnsinnig kompliziert machen oder? *lol* Bekloppte Beschreibung, sehe ich ein :wink:
ein Link zu einem Forum sah z.B so aus „http://forums.ikonboard.com/ikonboard.cgi?s= 3b690f170134ed61 ;act=Post;CODE=00;f=24“
ich mein diese 3b690f170134ed61. Was bewirken diese Sessions? Wozu sind die gut??

Gruß
Martin

ich mein diese 3b690f170134ed61. Was bewirken diese
Sessions? Wozu sind die gut??

Man kann sie für viele Zwecke verwenden. Primär werden sie benutzt um einen User für die Dauer einer bestimmten Verbindung zu erkennen, z.B.: wenn er einkauft - sein Warenkrob und seine Person werden damit in Verbindung gebracht.
Man kann das auch mit Cookies realisieren, dann sieht die URL nicht so „seltsam“ aus. Allerdings haben viele Leute eine paranoide Angst vor Cookies und deshalb müssen Entwickler auf andere Mechanismen zurückgreifen, eben solche Session-IDs in URLs.
Session-IDs sind für die Dauer einer Session genau einem CLient zugeordnet. Meist verlieren sie ihre Gültigkeit, wenn der Surfer sich abmeldet, seine Transaktion (z.B. einkaufen) beendet oder ein gewisses Zeitlimit überschritten wird.

Grundidee klargeworden?

Klaus

Ahh, jo. Gute Erklärung!

Aber das scheint ja dann nur Sinn zu machen, wenn sich der User nicht „angemeldet“ hat.

Mal als Beispiel das Forum genommen:
Wenn ich mich da nicht anmelde und nur als Gast umherspaziere, macht es für mich einen Sinn. Doch würde ich mich nun anmelden und bin mit meinem Benutzernamen und Paßwort angemeldet, dann bin ich doch eigentlich genause „identifizierbar“ wie mit Session-ID oder etwa nicht?
Ich schleife dann eben immer mein Benutzernamen und Paßwort in irgend einer Art und Weise (z.B. in den Formularen verstecht mit z.B. etc…) mit. Das ist doch dann theoretisch das Selbe oder nicht?

bzw. Eine Session-ID, wird die in Perl mit einer bestimmten Funktion generiert, oder sind das einfach nur irgendwelche x-Stelligen Zufallswerte, die man z.B. mit „rand“ generieren lässt?

Gruß
Martin

Aber das scheint ja dann nur Sinn zu machen, wenn sich der
User nicht „angemeldet“ hat.

Gerade, wenn er sich angemeldet hat macht es Sinn.

Mal als Beispiel das Forum genommen:
Wenn ich mich da nicht anmelde und nur als Gast umherspaziere,
macht es für mich einen Sinn.

Warum?

Doch würde ich mich nun anmelden
und bin mit meinem Benutzernamen und Paßwort angemeldet, dann
bin ich doch eigentlich genause „identifizierbar“ wie mit
Session-ID oder etwa nicht?

Die Session-ID ist häufig die direkte Repräsentation Deiner Login-Daten. Nur will man nicht ständig Dein passwort übers Netz schicken, so dass jemand anders es vielleicht „anfangen“ könnte. Also ersetzt man Deine „Identität“ durch eine Session-ID.

Ich schleife dann eben immer mein Benutzernamen und Paßwort in
irgend einer Art und Weise (z.B. in den Formularen verstecht
mit z.B. etc…) mit. Das ist doch dann theoretisch
das Selbe oder nicht?

Jein, solange die Navigation über Formulare/Buttons erfolgt geht das, aber über Links nicht mehr. Gefährlich ist es aber trotzdem (Siehe oben)
Deshalb wird an die Links häufig die Session-ID angehängt.

bzw. Eine Session-ID, wird die in Perl mit einer bestimmten
Funktion generiert, oder sind das einfach nur irgendwelche
x-Stelligen Zufallswerte, die man z.B. mit „rand“ generieren
lässt?

Die Session-ID kann alles sein - Eine Zufallszahl, die in einer Datenbank einem angemeldeten User zugeordnet wird. Eine IP-Nr+die aktuelle Uhrzeit der Anmeldung oder ein MD5 kodierter String bestehend aus dem Username udn Passwort u.v.m.
Sinnvollerweise sind die verwendeten Daten in ihrer Gesamtheit so beschaffen, dass sie absolut eindeutig sind.

Klaus

1 Like

Hi!

Prima, danke! Nun hab ich es begriffen :smile:

Gruß,
Martin