---
title: "Osäker inloggning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/107379-osäker-inloggning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bj"
published: "2004-07-15T06:17:31.000Z"
updated: "2004-07-15T06:41:56.000Z"
replies: 4
views: 381
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/107379-osäker-inloggning"
---

# Osäker inloggning

## #1 — Bj, 2004-07-15T06:17Z

Har ett problem med en inloggningskod. Den är tydligen inte riktigt säker. Tror det har ngt att göra med  Request.Form("anvandarid") 0ch Request.Form("losenord") men är inte säker.
Jag skickar med en del av koden om det är någon som har lite synpunkter på vad man skall ändra.

```
'Logga in
<b>Användarnamn:</b><br>
<input type="text" size="30" name="anvandarid"><p>
<b>Lösenord:</b><br>
<input type="password" size="30" name="losenord"><p>
<input type="submit" value="Logga in!">
============================================
'Sedan kommer man hit
'Anger vilken sida användaren befinner sig på
Page = "Kontrollsida" 

'Session tilldelas användarnamn och lösenord
Session("username") = Request.Form("anvandarid")
Session("losenord") = Request.Form("losenord")
Response.Expires = -1500
<!--#include file="inc_admin_header.inc" -->
============================================
'Och den inc_admin_header ser ut så här
Session.LCID = 1053
Response.Expires = -1500

SQL = "SELECT Namn,Email,Niva1,Niva2,Niva3 FROM tblAdminLogin WHERE AnvandarId = '" & Session("username") & "' AND losenord = '" & Session("losenord") & "' AND " & Page & " = '1'"

'##########Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\test\test\databasen.mdb"
'Om inget resultat hittades
Set RecSet = Connect.Execute(SQL)
If RecSet.EOF Then
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
'Nollställ användarnamn och lösenord
Session("username") = ""
Session("losenord") = ""
Session.Abandon
'Skicka tillbaka användaren till inloggningssidan
Response.Redirect("admin_login.asp?status=denied")

'Om resultat hittades
Else

'Tilldela resultatet till variabler
Namn = RecSet("Namn")
Email = RecSet("Email")
Niva1 = RecSet("Niva1")
Niva2 = RecSet("Niva2")
Niva3 = RecSet("Niva3")

'Stäng kopplingar
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
```

Permalänk: https://www.webforum.nu/p/107379

## #2 — @nders, 2004-07-15T06:25Z

\* Varför lagrar du lösenordet i en session?

\* Du bör alltid se till att ersätta eventuella apostrofer i värden du hämtar in för användning i en SQL-fråga.

```
strUserName = Replace(Request.Form("anvandarid"), "'", "''")
strPassword = Replace(Request.Form("losenord"), "'", "''")
SQL = "SELECT Namn,Email,Niva1,Niva2,Niva3 FROM tblAdminLogin WHERE AnvandarId = '" & strUserName & "' AND losenord = '" & strPassword & "' AND " & Page & " = '1'"
```

Permalänk: https://www.webforum.nu/p/1386467

## #3 — Engine^, 2004-07-15T06:28Z

Det du kan drabbas av här är i första hand SQL-injections. Du undviker detta genom att göra följande små ändringar

```
Session("username") = Replace(Request.Form("anvandarid"), "'", "''")
Session("losenord") = Replace(Request.Form("losenord"), "'", "''")
```

Det bästa är att lägga in detta i en funktion, eftersom det krävs så fort du ska behandla klientdata i din SQL.

```
Function SecureSQL(strValue)
  SecureSQL = Replace(strValue, "'", "'')
End Function
.
.
.
Session("username") = SecureSQL(Request.Form("anvandarid"))
Session("losenord") = SecureSQL(Request.Form("losenord"))
```

**red.** Attans snabel ;)

Permalänk: https://www.webforum.nu/p/1386470

## #4 — Bj, 2004-07-15T06:40Z

Tack grabbar.
Med en liten apostrof efter SecureSQL = Replace(strValue, "'", "'')
verkade ditt förslag funka Engine.
Finns det ngt sätt att kolla det mot en SQL injection?

Permalänk: https://www.webforum.nu/p/1386475

## #5 — @nders, 2004-07-15T06:41Z

Ersättningen tar hand om SQL-injections.

Permalänk: https://www.webforum.nu/p/1386476

---

Tråden på webben: https://www.webforum.nu/amne/asp/107379-osäker-inloggning
