---
title: "Text som inte ska vara där"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/154178-text-som-inte-ska-vara-där"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lorelie"
published: "2006-11-24T14:31:52.000Z"
updated: "2006-11-24T17:49:36.000Z"
replies: 12
views: 733
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/154178-text-som-inte-ska-vara-där"
---

# Text som inte ska vara där

## #1 — Lorelie, 2006-11-24T14:31Z

Har gjort en inloggningssida som ser utsåhär <http://www.aramennoc.se/inlogin.asp>

men så ska den ju inte se ut... Varför står texten om fel lösen där?
Det har fungerat som det ska innan, men jag vet inte vad som gick snett.

```

If Not data.EOF Then
		If data("losenord")=Request.Form("Losenord") Then
			Session("MedlemsID") = data("MedlemsID")
			Response.Redirect "laggtill.asp"
			Response.End
		Else
			wrong = "Du har nog inte angett rätt användarnamn!"
			response.write wrong
		End If
	Else
		wrong = "Du har nog inte angett rätt lösenord!"
		response.write wrong
	End If
```

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

## #2 — voigtann1, 2006-11-24T14:37Z

Du laddar din databas innan du loggar in... så då är ju data.EOF därför får du response.write wrong vid else

Du får ha kanske:

```
if reqeust.form("losenord") <> "" and request.form("Anvandarnamn") <> "" then
..... kör SQL frågan och hela den kod du visar just nu på inlägg #1
end if
```

Du vill ju inte ladda databasen i onödan och inte heller förrän formuläret för lösenordet och användarnamnet är "något"

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

## #3 — J.N., 2006-11-24T14:38Z

HEJ!

Det finns inget recordset, då kommer du dit i if-satsen.

Utan att se hur du gjort, kan du inte veta att lösenordet är fel pga recordsetet inte fungerar, det kan ju även vara användarnamnet.

Hmmm, det verkar som du först kontrollerar om användarnamnet finns, och sedan lösenordet. Så kan du inte göra, då kan man korsa användarnamn med lösenord som man vill och logga in!
(Det är ett klassiskt kodexempelfel från IDG!)

Kontrollera inloggningsrättigheter genom att hämta båda två i samma fråga.

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

## #4 — Lorelie, 2006-11-24T14:42Z

> **J.N. skrev:**
>
> HEJ!
> 
> Det finns inget recordset, då kommer du dit i if-satsen.
> 
> Utan att se hur du gjort, kan du inte veta att lösenordet är fel pga recordsetet inte fungerar, det kan ju även vara användarnamnet.
> 
> Hmmm, det verkar som du först kontrollerar om användarnamnet finns, och sedan lösenordet. Så kan du inte göra, då kan man korsa användarnamn med lösenord som man vill och logga in!
> (Det är ett klassiskt kodexempelfel från IDG!)
> 
> 
> Kontrollera inloggningsrättigheter genom att hämta båda två i samma fråga.

Kan du möblera om och visa hur du menar? (Jag är nyyybörjare på asp...)

```

<%
sql = "SELECT * FROM anvandare WHERE anvandarnamn='" & Replace(Request.Form("Anvandarnamn"), "'", "''") & "'"

set data = MinCon.execute(sql)

If Not data.EOF Then
		If data("losenord")=Request.Form("Losenord") Then
			Session("MedlemsID") = data("MedlemsID")
			Response.Redirect "laggtill.asp"
			Response.End
		Else
			wrong = "Du har nog inte angett rätt användarnamn!"
			response.write wrong
		End If
	Else
		wrong = "Du har nog inte angett rätt lösenord!"
		response.write wrong
	End If

%>
```

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

## #5 — voigtann1, 2006-11-24T14:47Z

```
<%

if request.form("losenord") <> "" and request.form("Anvandarnamn") <> "" then
  sql = "SELECT * FROM anvandare WHERE anvandarnamn='" & Replace(Request.Form("Anvandarnamn"), "'", "''") & "'  AND losenord = '" & Replace(Request.Form("Losenord"), "'", "''") &"'"
  set data = MinCon.execute(sql)
    If Not data.EOF Then
      Session("MedlemsID") = data("MedlemsID")
      Response.Redirect "laggtill.asp"
      Response.End
    Else
      wrong = "Du har nog inte angett rätt användarnamn eller Lösenord!"
      response.write wrong
    End If
End If

%>
```

hade jag gjort.. och varför använder du inte SafeSQL() som du gör på den andra inlägget du har gjort på wF... du vill inte ha SQLInjection här heller ;)

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

## #6 — J.N., 2006-11-24T14:48Z

Lägg till ... AND losenord=Request.Form("Losenord") ... i din WHERE-sats, och din Replace-funktion runt den.

Tag sedan bort else-satsen med lösenords-texten.

Bör fungera, men du kommer ju, som voigtann1 påpekar, belasta servern med en fråga fast du inte försökt logga in.

När detta fungerar, kan du fundera på att flytta inloggningskoden till en separat fil, om du vill.
I den kör du response.redirect i en ifsats till inloggad.asp eller tillbaka till inloggninssidan om det är fel.
Finns exempel på wF hur detta ser ut.

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

## #7 — Lorelie, 2006-11-24T14:53Z

> **voigtann1 skrev:**
>
> ```
> <%
> 
> if request.form("losenord") <> "" and request.form("Anvandarnamn") <> "" then
>   sql = "SELECT * FROM anvandare WHERE anvandarnamn='" & Replace(Request.Form("Anvandarnamn"), "'", "''") & "'  AND losenord = '" & Replace(Request.Form("Anvandarnamn"), "'", "''") &"'"
>   set data = MinCon.execute(sql)
>     If Not data.EOF Then
>       Session("MedlemsID") = data("MedlemsID")
>       Response.Redirect "laggtill.asp"
>       Response.End
>     Else
>       wrong = "Du har nog inte angett rätt användarnamn eller Lösenord!"
>       response.write wrong
>     End If
> End If
> 
> %>
> ```
>
> 
> hade jag gjort.. och varför använder du inte SafeSQL() som du gör på den andra inlägget du har gjort på wF... du vill inte ha SQLInjection här heller ;)

Jo, det kanske jag skulle ha, har inte kommit så långt i funderingarna ännu   ;)

(Edit, först funkade det inte, sen såg jag att det stod anvandarnamn i lösenordsrutan också, ändrade till losenord och sen funkade det)

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

## #8 — voigtann1, 2006-11-24T14:55Z

förlåt... Copy paste... om du kollar "And Losen.." & request.form("anvandarnamn") ... det ska ju vara losenord :D förlåt ;)

Har redigerat mitt förra inlägg så det ska vara rätt nu :D

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

## #9 — Lorelie, 2006-11-24T14:57Z

> **voigtann1 skrev:**
>
> förlåt... Copy paste... om du kollar "And Losen.." & request.form("anvandarnamn") ... det ska ju vara losenord :D förlåt ;)
> 
> 
> Har redigerat mitt förra inlägg så det ska vara rätt nu :D

Hann se det innan du skrev svaret =)

Ska se om jag får dit '-grejen också....

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

## #10 — voigtann1, 2006-11-24T14:58Z

> **Lorelie skrev:**
>
> Ska se om jag får dit '-grejen också....

Det fixar nu garanterat ;)

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

## #11 — Lorelie, 2006-11-24T15:01Z

> **voigtann1 skrev:**
>
> Det fixar nu garanterat ;)

  :r .. Nej =P

```
  sql = "SELECT * FROM anvandare WHERE anvandarnamn='" & SafeSQL Replace(Request.Form("Anvandarnamn"), "'", "''") & "'  AND losenord = '" & SafeSQL Replace(Request.Form("losenord"), "'", "''") &"'"
```

 

Den säger att det är fel där någonstans...

"Expected 'End'" men var?

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

## #12 — emission, 2006-11-24T17:25Z

Du glömde parenteserna, och dessutom ska du inte ha både SafeSQL och replace.

```
sql = "SELECT * FROM anvandare WHERE anvandarnamn='" & SafeSQL(Request.Form("Anvandarnamn")) & "'  AND losenord = '" & SafeSQL(Request.Form("losenord")) &"'"
```

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

## #13 — Lorelie, 2006-11-24T17:49Z

> **emission skrev:**
>
> Du glömde parenteserna, och dessutom ska du inte ha både SafeSQL och replace.
> 
>
>
> ```
> sql = "SELECT * FROM anvandare WHERE anvandarnamn='" & SafeSQL(Request.Form("Anvandarnamn")) & "'  AND losenord = '" & SafeSQL(Request.Form("losenord")) &"'"
> ```

Tack   :e

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/154178-text-som-inte-ska-vara-där
