AGMedlem sedan mars 20001 266 inlägg Nu fungerar mitt inloggningsporgram efter följande. Skriptet kollar om session är tom, är den det så måste man logga in. Problemet uppstår därför på huvudsidan, ifall nån glömmer att logga ut kan en person som sitter vid sama dator logga in med felaktiga uppgifter och komma in på den andras konto. Hur reglerar man sig mot detta?
Hoppas ni förstod vad jag menade.
Andreas
SPiNMedlem sedan mars 20007 896 inlägg Det är nästintill omöjligt, eftersom att man inte vet när personen i fråga lämnar datorn :)
Om han däremot stänger ner webbläsaren så ska det däremot kanske gå att lösa... Du får isf öppna en liten popuppruta mha JS, och i den logga ut användaren och sen stänga ner rutan igen.
------------------
SPiN, bjorne.w@telia.com
-- They pretend to pay me, I pretend to work --
Sätt en tidsgräns för sessionens livslängd med funktionen setMaxInactiveInterval(int interval).
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
public void setMaxInactiveInterval(int interval)
Specifies the time, in seconds, between client requests before the servlet container will invalidate this session. A negative time indicates the session should never timeout.
På så sätt så dödas användarens session automatisk när användaren varit inaktiv i interval sekunder.
------------------
skaparen av allt som är mjukt och luktar lavendel
AGMedlem sedan mars 20001 266 inlägg Använder mig redan av session tidvärde.
Det är ju just på första sidan det är aktuellt, alltså där man loggar in. Är egentligen bara där jag bryr mig om det.
Typ köra en if-sats som flrutom kollar att session är död också kollar från vilken sida användraen kom.
Andreas
Jag förstår inte riktigt vad som är problemet, om användaren knallar iväg från datorn så kommer ju sessionen att få "time-out" efter ett tag och då måste man ju logga in på nytt vilket förhindrar ej behöriga från att smygkika.
------------------
skaparen av allt som är mjukt och luktar lavendel
[Redigerat av sgtpepper den 22 maj 2001]
AGMedlem sedan mars 20001 266 inlägg Exempel:
Person A sitter vid datorn, är inloggad. Person A byter sedan adress i adressfältet. Sessionen är då fortfarande aktiv. Person B sätter sig vi datorn, helt ovetande, och ska logga in på sitt konto, eftersom en session´en redan är aktiv så kommer man in på nån annans konto.
Detta problemet är det enda jag tänker på, att man ej ska försöka logga in på sitt eget och komma in på nån annans.
Så på förstasidan, verifierar inloggning, borde man kanske ha if session("user") = null or getAttribute("httpheader") = "adressen där inloggningsformuläret är" så erifieras inloggningen mot databasen.
Andreas
Måste du verkligen ha så? Det verkar lite väl omständigt, man får väl förutsätta att användaren inte är helt bakom flötet och att denne förstår att om är man inloggad, sitter brevid en skum lirare och sedan går ifrån datorn så kan det vara mindre bra..
Det du skulle kunna göra är att du samtidigt som du verifierar att inloggningssessionen är giltig även kollar att request-variabeln "referer" är satt till någon sida på din server ( request.getHeader("Referer") ), om inte så invaliderar du sessionen. På detta sätt invalideras sessionen om användaren kommer in via en annan sida eller om användaren matat in adressen direkt i webbläsaren.
Du kommer dock inte ifrån att någon tar över en dator och sedan trycker "Back" fram till dina sidor (om sessionen inte har nått "time-out").
------------------
skaparen av allt som är mjukt och luktar lavendel
[Redigerat av sgtpepper den 24 maj 2001]
AGMedlem sedan mars 20001 266 inlägg Hur ser denna referer ut mer exakt, typ ett exempel.
Andreas
VetgirigMedlem sedan nov. 2000199 inlägg Referer är den URI varifrån webläsaren kom. Dvs den webbsida där länken till nuvarande sidan fanns.
Det är dumt att titta på referern för det betyder att en korrekt användare måste logga in igen - även om denna bara för en kort tid tittade på en annan sida.
Som jag ser det så får du helt enkelt se det som att det är användarens skyldighet att logga ut från din webbplats om det är så att denna inte vill att andra skall komma åt dennes saker där.
Det är samma princip som att det är bilförarens uppgift att låsa bilen på en parkerning - för annars kan en tjuv vara framme.
Du kan inte alltid skydda dig mot dumma användare. En timeout ger ett bra skydd. Gör den inte för kort, för användarna blir irriterade om de måste logga in igen hela tiden.
Gör även länken för att logga ut från webbplatsen tydlig så ingen kan hävda att de missat den.
------------------
Anders Lindbäck,Igiro Internet Giro
[Redigerat av Vetgirig den 25 maj 2001]
[Redigerat av Vetgirig den 25 maj 2001]