webForumDet fria alternativet

Problem med att användare får samma session id

.NET

6 svar · 300 visningar · startad av star82

Medlem sedan juli 200417 inlägg
Frågan#1

Hej,

Jag har byggt en webshop åt ett företag, vars säljare använder den för att lägger beställningar över nätet.

Shopen har varit igång i över 1 års tid och fungerat bra, men sedan 1 vecka tillbaka går all surfning via en proxyserver i utlandet. I samband med detta uppstod följande problem.

En säljare loggar in i webshopen med användarnummr 1111 och börjar "handla", under tiden loggar nästa säljare in med sitt nummer 2222 för att handla. Den senaste säljare kommer då in som 1111 och fortsätter handla på samam "session" som den tidigare säljaren. Detta gör att kundvagn m.m blir helt fel. Dom får helt enkelt samma session id.

Jag har i IIS:en ändrat till "Enabled Content Expiration Immediatly", samt satt i global.asax att den inte ska casha, men utan resultat.

Har även provat att skicka sessionen i querystringen via web.config (cookieless="true"), men inte heller det har hjälp.

De har även lagt till i sin Proxy ISA Server att den inte ska casha det domännamn som shopen använder sig utav, dock utan resultat.

Något som vet något mer jag kan prova, jag har verkligen kört fast.

Tack på förhand

Mvh Patric

Medlem sedan dec. 19991 072 inlägg
#2

När du kör med "cookieless=true", får de samma SessionsID i URLen då med?

Medlem sedan nov. 2003569 inlägg
#3

Det där får mig osökt att börja undra hur säkert det egentligen är att använda sessions för att identifiera en användare för en webshop. Hur säkert är egentligen sessions, kan de tappas och blandas ihop?. Eller finns det nåt som är säkrare?

Medlem sedan dec. 19991 072 inlägg
#4

Om Sessions är säkert eller ej är ingen glasklar fråga.

Till mycket så handlar det om ifall utvecklaren har byggt en sajt med säkerhet i åtanke under hela processen. Med hjälp av olika tekniker kan nämligen någon stjäla andras sessioner och på så sätt lura sidan. Detta görs genom säkerhetshål i sidan och är inget som härör Sesssions, som i sig varken är osäkra eller inte, utan bara är ett slags temporärt lagringsutrymme.

En teknik som (ofta) används kallas Cross Site Scriptings (XSS). Vi har en artikel om detta på swesecure.com:
http://www.swesecure.com/?ID=dc6ea60a-12ae-4e7e-9e9c-59489ccafa90&IID=436d5180-8909-4aa2-baee-7c8f925d6eab

Medlem sedan nov. 2003569 inlägg
#5

OK. Men jag tänkte mer på om servern kan "blanda ihop" olika sessions. Är sessions 100% säkra vad det gäller den aspekten?

Medlem sedan maj 20012 812 inlägg
#6

Är sessions 100% säkra vad det gäller den aspekten?

Finns väl ingen applikation som är 100% bugfri, men jag har aldrig hört att en server blandat ihop sessionenerna. Man skall dock tänka på ett SessionsID inte är unikt över tiden, utan endast så länge som servern inte startas om. Vilket betyder att man ALDRIG skall ha SessionsID som id för en beställning/användare osv osv ....

- Magnus

Medlem sedan nov. 2003569 inlägg
#7

Men om man använder kundens primärnyckelID som ligger i databastabellen och lägger den i en Session.

Session["kundID"]=datareader["ID"].ToString();

Och sedan lägger detta "kundID" i "beställnings" tabellen för att identifiera vilken kund som gjorde beställningen.
Måste väl va OK?

289 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
160 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)