Sikkerhed i login script
Nedenstående script fungerer tildels som det skal.<%Response.Buffer = "True"
Session.lcid = 1053
db = Server.MapPath("/data/databas.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
If Request.Querystring("adgangskode") = "nej" Then
mess = "alert('Forkert adgangskode');return true;"
End If
If Request.Querystring("bruger") = "nej" Then
mess = "alert('Brugeren findes ikke!');return true;"
End If
If Request.Querystring("bruger2") = "tom" Then
mess = "alert('Du skal skrive et brugernavn');return true;"
End If
If Request.Querystring("omraadet") = "nej" Then
mess = "alert('Du har ikke adgang til dette felt');return true;"
End If
%>
<html>
<head>
<title>LogindKN</title>
<link rel="stylesheet" href="style1.css" type="text/css">
<LINK HREF="style1.css" REL="STYLESHEET" TYPE="text/css">
<script src="js/js.js"></script>
</head>
<body bgcolor="#f0f0f0" OnLoad="<%=mess%>">
<%If Request.Querystring("visa")="" Then%>
<table width="400">
<tr>
<td colspan="2"><b>Log ind</b></td>
</tr>
<form name="login" method="post" action="cv.asp?visa=check" target="_parent">
<tr>
<td>Brugernavn</td><td><input type="text" name="admin1" size="35"></td>
</tr>
<tr>
<td>Adgangskode</td><td><input type="password" name="admin2" size="35"></td>
</tr>
<tr>
<td colspan="2" align="center">
<select name="omraadet" style="width: 150">
<%
SQL = "Select * From felt order by omraadeNavn "
RS.Open SQL, Conn
Do While Not RS.EOF
Response.Write "<b>"%><option><%=RS("omraadeNavn")%> </option> </b>
<% RS.MoveNext
Loop
%>
</select>
</td>
</tr>
<tr>
<td> </td><td>
<input type="submit" value="Ok"></td>
</tr>
</form>
</table>
<%End If
If Request.Querystring("visa")="check" Then
Set RecSet=Conn.Execute("Select * From users where brugernavn='" & Request.Form("admin1") & "'")
Response.Cookies("user") = Request.Form("user")
If Not RecSet.EOF Then
If Request.Form("admin2") = RecSet("adgangskode") Then
login="ok"
Else
Response.Redirect "cv.asp?adgangskode=nej"
End If
If Request.Form("admin1") = RecSet("brugernavn") Then
login="ok"
Else
Response.Redirect "cv.asp?bruger=nej"
End If
If Request.Form("omraadet") = RecSet("omraade") Then
login="ok"
Else
Response.Redirect "cv.asp?omraadet=nej"
End if
If login="ok" Then
Session("login") = "ok"
Session("user") = Request.Form("admin1")
Session.TimeOut = 40
Response.Redirect RecSet("link")
End If
End If
End if
%>
</body>
</html>
Men hvor sikkert er det. Jeg har læst noget om at man kan komme "forbi" ved at anvende "and" og "or" i .asp
