webForumDet fria alternativet

Trubbel med logincheck ASP kod ?

ASP

9 svar · 281 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#1

Hej! :)

Nu står det ganska still, efter att inte ha rört ASP på någon vecka.
Hur får man ordning på nedstående? Är detta dålig säkerhet, bör jag även i sista if-satsen ha ngt som kollar att det verkligen stämmer?

Tanken är att detta är en loginkoll, där det bara finns ett RecSet med det korrekta UserID, Password.


If RecSet.EOF Then 
Response.write "Wrong Username and/or Password" 
%>
<p>
<A HREF="login.asp">Back</A>
<%

Else if( RecSet(UserID) =! Request.Form("userID") ) och/eller RecSet(Password) =! Request.Form("Password") Then
Response.write "Wrong Username and/or Password" 

Else if

session("status") = "inne"
Response.redirect "main.asp" 

 end if %>
Medlem sedan mars 20015 287 inlägg
#2

och/eller

?

Kollar du inte om posten stämmer i din sql-fråga?

Medlem sedan dec. 20003 563 inlägg
#3

Det där påminner mycket om IDG:s version av en inloggning i ASP. Kanske inte den mest lyckade.
En mycket bättre variant är denna.

// Här kollar vi inloggningen
username = request.form("username")
pass = request.form("pass")

Set rs = connection.execute("SELECT * FROM users WHERE username = '"&username&"' AND pass = '"&pass&"' ")
if NOT rs.eof then
 // Du är inloggad!
else
 // Du är INTE inloggad!
end if
Medlem sedan maj 20023 372 inlägg
#4

solbulle skrev:

och/eller

?

Kollar du inte om posten stämmer i din sql-fråga?

Så sant.

Medlem sedan maj 20023 372 inlägg
#5

solbulle skrev:

och/eller

?

Kollar du inte om posten stämmer i din sql-fråga?

Så sant.

Tack till er båda.

Medlem sedan feb. 20022 594 inlägg
#6

...och så ska man självklart komma ihåg att ersätta ' med ''.

Medlem sedan maj 20023 372 inlägg
#7

Tjena!

Nu ersatte jag alla ' med " , men då dök det upp ett fel(det var fel på sidan innan också, så det behöver inte avrit därför iofs. Vad är anledningen till att man ska köra med " istället?(DEt var nytt för mig)

Expected end of statement

/tracking/logincheck.asp, line 49

SQL = "SELECT * FROM Table1 WHERE UserID = "" & Request.Form("userID") & "" AND password = "" & Request.Form("password") & """
--------------------------------------------------------------^

Medlem sedan feb. 20022 594 inlägg
#8

Inte så jag menade :) Du ska ha kvar apostroferna där, men de apostrofer som finns i Request.Form("userID") samt Request.Form("password") ska ersättas med '' för att man inte ska kunna fuska sig igenom inloggningen. Läs mer här:

http://www.webforum.nu/search.php?s=&action=showresults&searchid=153021&sortby=lastpost&sortorder=descending

Byt namn på fältet password också om du kör Access.

Medlem sedan maj 20023 372 inlägg
#9

aha, nu är jag med.

Nu fungerar det också :)

Tack

Medlem sedan feb. 20022 594 inlägg
#10

Bra ;)

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)