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 %>
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
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") & """
--------------------------------------------------------------^
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: