26. september 2006 - 11:14Der er
22 kommentarer og 1 løsning
Hvordan kan man læse klientens ip adresse?
I forbindelse med licensstyring, vil jeg gerne aflæse brugerens ip adresse - jeg vil så checke om samme brugernavn og password benyttes fra en anden ip. Hvis dette er tilfældet, vil jeg spære for den sidst anvendte.
Findes der en function i ASP.NET der kan læse klientens ip adresse, når denne loader en side på serveren?
Hvis du har en anden ide til hvordan man kan styre, at kun betalende brugere får adgang til en application på en "offentlig tilgængelig" server kunne det også være interessant at høre.
Det er ikke tilladt at: "oprette det samme spørgsmål flere gange - heller ikke selv om spørgsmålet kunne ligge i flere kategorier. Er der ikke indløbet tilfredsstillende svar på et spørgsmål efter 7 dage, er det dog tilladt at lukke det oprindelige spørgsmål, og oprette et nyt identisk."
Er det en "robot" kommentar? Første oprettelse blev fejlplaceret - jeg beklager! Jeg søger en pendant til $_SERVER["REMOTE_ADDR"] (php) findes tilsvarende i ASP.NET? Altså en variabel der holder klientens ip adresse - alternativt, en function der kan læse den!?
Ja, det er det vel i princippet. Jeg er - som det tydeligvis fremgår - ny i ASP.NET. Jeg kender sessions fra PHP men har aldrig brugt det til andet end at checke på, om en bruger var logget på. Ikke om der var dubletter!?
Jeg har jo egentlig fået svar på mit spørgsmål -> Request.ServerVariables["REMOTE_ADDR"].ToString() - så post et svar på den jokkejensen
Hvis der en nogen af jer der har noget klogt at tilføje om hvor vidt brugen af sessions er en bedre løsning, vil jeg da gerne høre det inden tråden lukker.
Jeg skal bare kunne checke om en bruger er logget på, og at samme brugernavn og password kun kan bruges i en session ad gangen - kan man checke det ved brug af sessions i ASP.NET og hvordan!?
"Den skifter ikke så længe de er opkoplet nej" - jo den gør, i princippet. Jeg har ikke set det i Danmark, endnu, men det forekommer at en bruger sidder bag en pulje af forbindelser, med hver deres IP-nummer. Ved hver ny HTTP-forbindelse fra brugeren vælges den forbindelse med mindst belastning. Man kan sommetider se det i en log fra webserveren.
Det gør jo den tænkte løsning ubrugelig :( Kan man i ASP.NET sammenligne indholdet af sessions på serveren, så man her checker om det samme login er aktivt på flere brugere? Hvordan løses problematikken helt generelt - det må jo være brugt/løst på utallige sites!?
Det kræver selvfølgelig lidt sql-trafik, men registrer tid for hver handling, og er der gået 20 minutter (fx. svarende til session-timout) er han logget ud. Men lav også en "logud"-knap.
Jeg kan stadig ikke gennemskue hvordan jeg kan skelne, om det er den "rigtige" bruger der er ved at logge på igen - uden at have logget af - eller om det er en anden der bruger samme username og password!?
Nej, der kan være stor forskel. Man vil fx gøre det, hvis man har flere udbydere, og deres respektive IP-numre kan være meget forskellige. Som sagt, jeg har ikke observeret det i Danmark, og det er næppe noget enkefru Hansen i Bredgade giver sig i lag med, nok nærmere BigFirma i BigTown i BigCountry. På den anden side var der jo en dansk udbyder der på grund af konfigureringsfejl eller for få IP-adresser fik skiftet IP-adresser hos sine kunder hvert 5. minut - engang...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.