> 
> >Das ist schlecht... So bist Du ja immer noch von der Session 
> abh�ngig...
> >Du musst die Warenkorb-Eintr�ge von der User-ID abh�ngig 
> machen, so kann
> >auch bei abgelaufener Session der Warenkorb durch Login wieder
> >hergestellt werden.
> 
> Das hab ich mir auch schon �berlegt. D.h., dass dann jemand 
> ein Produkt ein 
> den WK
> legen kann und es eine Woche sp�ter immer noch da ist.
> W�re sicher eine gute Idee. Nur hoffe ich dann, dass alle 
> Kunden den Button 
> neben dem Produkt zum
> l�schen sehen. :-)

Du kannst auch eine "Neuen Warenkorb starten"-Funktion anbieten, ggf.
Sogar mit Speicherung mehrerer Warenk�rbe...
Und letztendlich kannst Du auch automatisch beim neuen einloggen den
Warenkorb l�schen, wenn der letzte Login mehr als x Stunden(x=24?) her
ist.
Dadurch l�st Du das Problem mit dem verlorenen WK, aber handelst Dir
keine neuen ein.


[...]

> Aber wie  finde ich heraus, dass die Session abgelaufen ist 
> und er nicht 
> einfach komplett neu
> in den Shop gekommen ist?

Das kannst Du nicht, aber wof�r soll das wichtig sein? Das konntest Du
doch vorher auch nicht...
Und wenn er einen zweiten Browser aufmacht, kann er sich mit neuer
Session einloggen...
Da der WK nun aber nicht mehr Session-Abh�ngig ist, sondern von der
User-ID, hat er in beiden Sessions den gleiche Warenkorb... Noch ein
Problem gel�st!

[...]
 
> >Ode Du implementierst ein eigenes Session-System, dass nicht 
> auf Cookies
> >angewiesen ist, sondern die Session-ID immer im Querystring 
> mitschleppt
> >und alle Session-Daten in einer DB persistiert.
> 
> Nun, mit dem QueryString finde ich es nicht so sch�n. 
> Vorallem, wie ist es 
> mit der Sicherheit?
> 

Genauso sicher, wenn Du es richtig machst....
1. Im Querystring nat�rlich nicht UserID o.�. Speichern, sonst k�nnte
jeder durch �ndern des QS sich mit einem neuen User anmelden...

2. Im Querystring zuf�llige SessionID erzeugen, z.B. 40 Zeichen aus
0-9A-Za-z -> das ist sogar eindeutiger als die IIS-Session-ID

3. In der DB speichert man dann mit der entsprechenden SessionID
dazugeh�rige Daten, z.B. userID etc.

4. Diese Sessions k�nnen auch einen Timeout haben, aber der kann h�her
angesetzt werden, weil die Session nicht im Speicher gehalten wird,
sondern in einer DB.

5. Ist eine Session nicht mehr g�ltig, kann man eine neue vergeben oder
den User wieder nach seinem Passwort fragen...

6. Um Session-Klau zu erschweren(z.B. durch abh�ren der SessionID im
Netzwerk) kann man, sobald jemand versucht eine Session von einer andere
IP-Adresse als der Initialen IP-Adresse zu benutzen, einfach eine neue
SessionID zuweisen...

7. Um Performance zu steigern, kann man das System so bauen, dass
Session-Daten f�r eine bestimmte Zeit(z.B. 10min oder 20min) innerhalb
des Applikation-Objects gecacht werden und danach gel�scht werden...
Dadurch hat man den Vorteil von IIS-Sessions(schnell, weil im Speicher)
und DB-Session(lange Timeouts, weil in der DB).
Wenn dann einer aktiv surft, hat er gute Performance, weil seine
Session-Daten im Appliaktion-Object gecacht werden... Geht er
zwischendurch f�r eine halbe Stunde zum Telefon, wird einfach beim
ersten Aufruf wieder das Zeug aus der DB geholt und weitere Anfragen
kommen wieder aus dem Cache...

Solch ein System w�re am performantesten als COM-Object implementiert,
aber auch als Skript kann das schnell genug sein...
Ich habe so ein �hnliches System schon mal implementiert...
Querystring-Sessions; als Speicherplatz freethreaded XMLDom in
Application-Variable; keine DB-Persistenz. Beliebiebige Typen(String,
Int, Date, beliebig tief geschachtelte Arrays etc.) werden ins XMLDom
persistiert.


Gruss,

Claudius

> Besten Dank f�r diese Anregungen.
> 
> Gruss Christoph
> 
> 
> | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | 
> http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee
house.asp


| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp

Antwort per Email an