---
title: "Inloggning."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/116552-inloggning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "scoxi"
published: "2004-11-23T21:23:12.000Z"
updated: "2004-11-24T10:45:07.000Z"
replies: 11
views: 363
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/116552-inloggning"
---

# Inloggning.

## #1 — scoxi, 2004-11-23T21:23Z

```
<% If Request.QueryString("login") = "yes" Then %>

<%	Check = "Select * FROM users"
	RecSet.Open Check, Connect, adOpenStatic, adLockOptimistic
		 
	RecSet("username") = Request.Form("username")
	RecSet("password") = Request.Form("password") %>
	
	<% If RecSet("username") = Request.Form("username") AND RecSet("password") = Request.Form("password")  Then %>	
	
rätt

	
<% Else %>
fel
<% End If %>
	<% End If %>
```

Jag har öppnat databasen tidigare.
Felet blir det att oavsett man skriver rätt eller fel lösenord kommer man till "rätt"..
Jag har gjort på detta sätt tidigare och jag har även kollat på många andra som gjort på ett liknande sätt fast då loopade man det och jag har lyckats med det utan loop 
 :bla

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

## #2 — Poffe, 2004-11-23T21:44Z

Nja, det tvivlar jag på att du gjort! Som du gär nu är att du sätter RecSet("username") och RecSet("password") till vårdena du får från formuläret och sen kollar du om det är de värderna, klart att man kommer in då.

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

## #3 — SannyW, 2004-11-23T21:44Z

Vad händer om du ändrar till detta?

```
<% If Request.QueryString("login") = "yes" Then %>

<%	Check = "Select * FROM users"
	RecSet.Open Check, Connect, adOpenStatic, adLockOptimistic
		 %>
	
	<% If RecSet("username") = Request.Form("username") AND RecSet("password") = Request.Form("password")  Then %>	
	
rätt

	
<% Else %>
fel
<% End If %>
	<% End If %>
```

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

## #4 — scoxi, 2004-11-23T22:16Z

Om jag gör som SannyW kommer man till "fel" oavsett rätt anv och lösen

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

## #5 — jonnyz, 2004-11-23T22:31Z

Om du gör så här då (har inte provkört):

```
<% If Request.QueryString("login") = "yes" Then %>

<%	Check = "Select * FROM users WHERE username='" & Request.Form("username") & "'"
	RecSet.Open Check, Connect, adOpenStatic, adLockOptimistic

	If RecSet("password") = Request.Form("password")  Then %>	
	
		rätt

	<% Else %>

		fel

	<% End If %>

<% End If %>
```

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

## #6 — SannyW, 2004-11-23T22:34Z

Jag ändrade lite och har nu testat, det skall funka

Kontrollera databasen.

```
<%	
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Check = "Select * FROM users"
	RecSet.Open Check, Connect, 1, 2
		 %>
	
	<% If RecSet("username") = Request.Form("username") AND RecSet("password") = Request.Form("password")  Then %>	
	
rätt

	
<% Else %>
fel
<% End If %>
```

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

## #7 — Poffe, 2004-11-23T22:47Z

Dock med era koder kollar den bara första användaren i databasen. Har man fler användare fungerar det alltså inte.

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

## #8 — SannyW, 2004-11-23T23:19Z

Är kanske inte med på vad Poffe menar riktigt, det är sant att mitt förslag endast fungerar på en användare. 

Men jonnyz skall väl fungera?

Jag ändrade lite och kom fram till följande, om du nu har fler användare:

```
<%
	' För hindrar dubbelsnuttar i fälten
	Function escape(input)
	input = Replace(input, "'", "''")
	escape = input
	End Function
	
	' Kan byggas på att om fälten är tomma så kör man redirect
	if Request.Form("username") = "" AND Request.Form("password") = "" then
   	Response.Redirect "login.asp"
	End if

	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Check = "Select * FROM users WHERE username='" & escape(Request.Form("username")) & "'"
	RecSet.Open Check, Connect, 1, 2

	If NOT RecSet.EOF Then

	If RecSet("password") = Request.Form("password")  Then %>	
	
		rätt lösenord

	<% Else %>

		fel lösenord

	<% End If %>

	<%ELSE%>

	Ooops! Fel användare

	<%END IF%>
```

Det du kan förändra med 

Ooops! Fel användare

att lägga in en redirect istället.

Detta är ett förslag, det borde funka då jag själv har testat det lite snabbt.

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

## #9 — Poffe, 2004-11-23T23:29Z

Japp, jonnyz fungerar så klart. 
Var jag som läste slarvigt, sorry =)

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

## #10 — @nders, 2004-11-24T04:10Z

Man ställer självklart villkor på både användarnamn och lösenord direkt i SQL-frågan.

<http://www.webforum.nu/showthread.php?s=&postid=956094#post956094>

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

## #11 — lilja, 2004-11-24T10:05Z

din Check variabel borde ändras till SQL efterssom det är SQL-kod du lagrar i den variabeln...

du borde också plocka bort ' och " tecken ifrån indatan efterssom en användare annars kan skriva diverse elak kod och hacka sig in på sidan...

ex. 
username = ' or username \<\> '''
password = ''

tror man ska kunna koma in om man skriver så... om du då byter ut ett citatecken mot två så ska det vara relativt säkert... säger relativt ;)

```
tNickName = Replace(Request.Form("tNickName"),"'","''") 
tNickName = Replace(Request.Form("tNickName"),"""","''") 
tUserPassword = Replace(Request.Form("tUserPassword"),"'","''")
tUserPassword = Replace(Request.Form("tUserPassword"),"""","''")
```

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

## #12 — @nders, 2004-11-24T10:45Z

Varför tycker du att man ska byta bort citationstecken? Att förvränga informationen är **fel**. Citationstecken är inte ett problem.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/116552-inloggning
