Avatar billede skippie Nybegynder
06. januar 2005 - 13:56 Der er 1 kommentar og
1 løsning

Nybegynder ASP Login spørgsmål.

Jeg startede på ASP i foregårs og sidder nu med lidt af et problem.

If Request.Form("user") = rs_kunder("Brugernavn") AND Request.Form("password") = rs_kunder("Kodeord") Then

  Session("kundelogin") = "yes"
  Session.Timeout = 30
  Response.Redirect("kundeindex.asp")
 
Else

  Session("kundelogin") = "no"
  Session.Timeout = 30
  Response.Redirect("kundeloginfailed.asp")

End If

Hvis jeg skriver et brugernavn der eksistere i databasen (Som er en access database) og efterfølgende et FORKERT password så går den til kundeloginfailed.asp som den skal... Hvis jeg skriver et brugernavn som ikke står i databasen og skriver password får jeg en fejl:

Fejltype:
(0x80020009)
Undtagelse opstod.
/login.asp, line 17

Kan afsløre at line 17 er min if sætning.
Hvis jeg skriver et korrekt password (på hvilken som helst af mine brugere) men forkert brugernavn kommer samme fejl..

Dvs. hvis jeg skriver et korrekt brugernavn men forkert password reagere den som den skal, men hvis jeg skriver et forkert brugernavn så gør den ikke.. Det er jo klart et problem med if sætningen fordi den kun vil snakke med databasen og ikke vil reagere på noget andet..

Jeg har nu søgt og søgt herinde og andre sites og kan ikke finde nogen tut eller tidligere spørgsmål til det her problem så derfor opretter jeg nu et her.
Det er lidt en hasteting så jeg giver lidt flere point end den burde være værd ;)
Avatar billede skippie Nybegynder
06. januar 2005 - 13:57 #1
Whoops, er altså en dobbelt post, fik bare timeout fra databasen så troede ikke den kom med...
Avatar billede mortency Nybegynder
06. januar 2005 - 14:01 #2
Du spør etter bruker og passord i databasen.

strSQL = "Select * from dintabell where brukernavn=" & request.form .......
......

'Så lager du..
If rs.EOF Then
  Session("kundelogin") = "yes"
  Session.Timeout = 30
  Response.Redirect("kundeindex.asp")
Else
  Session("kundelogin") = "no"
  Session.Timeout = 30
  Response.Redirect("kundeloginfailed.asp")
End if

Du burde også fjerne tegn som bruker kan skrive inn så de ikke kan hacke deg.

Feks:
    txtUsername = Replace(Request.Form("txtUsername"), "'", "''")
    txtPassword = Replace(Request.Form("txtPassword"), "'", "''")
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester