Det säkraste är väl att använda en databas med en inloggningssida där besökarna får logga in och sen sätter du en session eller gör en kaka .. då borde det bli lite säkrare..
Visa koden du har nu så får jag se..
18 svar · 343 visningar · startad av johang
Jag har ett login-system från idg men det var inte bra.
Jag har gjort ett community och har använt det som login men märkt att det är hur lätt som helst att komma åt någon annans användare eftersom jag hela tiden skickar med variablen username.
Hur ska jag göra för att slippa detta??
Jag är berred att koda om Communityt eftersom det inte är bra en då mest som ett projekt!
Det säkraste är väl att använda en databas med en inloggningssida där besökarna får logga in och sen sätter du en session eller gör en kaka .. då borde det bli lite säkrare..
Visa koden du har nu så får jag se..
skippa idgs system helt om du vill ha det säkert. jag testade det för ett par månader sen och upptäckte att man kan logga in som en användare men använda ett annat lösenord som finns med i db:n...och det är ju inte så bra.
Hehe kollade på det nu.
If RecSet("Username") = Request.Form("Username") Then
X = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
If X = TRUE Then
Y = FALSE
Do Until Y = TRUE OR RecSet.EOF
If RecSet("Password") = Request.Form("password") Then
Y = TRUE
Exit Do
End If
Skämtar dom eller
arg, det har jag missat. Va fean!
hehe såhär ser hela skiten ut.
<% '====================================================================================================================== %>
<% ' Kontrollera användarnamn, lösenord och behörighet %>
<% '====================================================================================================================== %>
<% Visa = "SELECT * FROM users"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
X = FALSE
Do Until X = TRUE OR RecSet.EOF
If RecSet("Username") = Request.Form("Username") Then
X = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
If X = TRUE Then
Y = FALSE
Do Until Y = TRUE OR RecSet.EOF
If RecSet("Password") = Request.Form("password") Then
Y = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
End If
If X = FALSE Then
Response.Write "Du har anget ett felaktigt användarnamn!"
ElseIf Y = FALSE Then
Response.Write "Du har anget ett felaktigt lösenord!"
End If
If X = TRUE AND Y = TRUE Then
Session("username") = Request.Form("username")
Session("password") = Request.Form("password") %>
Hur fan kan man bygga det så ?!?!
hmm...
Sorry, om du som läser det här har byggt detta script, men detta var inte vad jag skulle kalla en säker inloggning...
ojojojoj, jag vet inte vad jag ska säga.
detta gör ont i själen.
IDGs ASP-skript brukar vara pinsamma, men det där tar priset. Otäckt.
Det var så illa som jag trodde.
Dom gör en sökning genom hela användartabellen. Dom öppnar till och med en cursor i "Edit-mode" (adOpenStatic, adLockOptimistic).
Läs denna sida http://msdn.microsoft.com/library/periodic/period99/ds0599.htm och ni förstår vad jag menar
Men bara början fick mig att sätta "halsen i kaffet":
<% '====================================================================================================================== %>
<% ' Kontrollera användarnamn, lösenord och behörighet %>
<% '====================================================================================================================== %>
Jag har ett inloggningscript här.. tänkte kolla med er som är experter hur pass säkert det är och om något går att förbättra såhär på direkten..?
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={SQL Server};SERVER=servern;UID=login;PWD=password;Database=databas"
SQLStmt = "SELECT * FROM users WHERE login = '" & FixaTecken(Request.Form("login")) & "' AND password = '" & FixaTecken(Request.Form("password")) & "'"
Set RS = Connection.Execute(SQLStmt)
If RS.EOF Then
Response.Redirect("default.asp")
Else
Session("userid") = RS("id")
Response.Redirect("insidan.asp")
End If
%>
och sen en include längst upp på varje sida som kollar om man är inloggad som ser ut såhär:
<%
If Session("userid") = "" Then
Response.Redirect("default.asp")
End If
Session.Timeout = 10
%>
Ser bra ut tycker jag.
Enkelt.
PS. Vill man vara riktigt petig så behöver du bara ta med kolumnen id i SQL'en. detaljer delatjer.
brw´s skript verkar bra, jag måste bara fråga om man måste koppla en databas till det... jag är lite ny och har också bara läst webstudios skola.
Här finns ett bra inloggnings system: http://www.hiran.desilva.com/ultradev/