Avatar billede bobbedude Nybegynder
20. juli 2001 - 20:29 Der er 20 kommentarer og
1 løsning

Login kvaler

Her er mit login script:

<%
set Conn = SErver.CreateObject(\"ADODB.Connection\")
Dim userName, passWord, redirectPage
if( Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" ) then
  Response.Cookies(\"MyCookie\")(\"userName\") = userName       
  userName = Request.Form(\"userName\")
  passWord = Request.Form(\"passWord\")
  Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"login.mdb\") 
  SQL = \"SELECT * FROM userTable WHERE username LIKE \'\" & userName & \"\' AND password LIKE \'\" & passWord & \"\'\"
  Set RS = Conn.Execute( SQL )
  if( NOT RS.EOF ) then
    response.redirect( RS(\"redirectPage\") )
  end if 
  end if     
%>

<html><title>www.xxxxx.dk - Kunde - Log ind</title>
<body>
<p align=\"center\"><img src=\"images/infostat.gif\"></p>
<p align=\"center\"><font face=\"Arial, Helvetica, sans-serif\" size=\"2\"><b>Statistik
  log ind</b></font><br>
</p>
<form action=\"\" method=\"POST\">
  <div align=\"center\">
    <input type=\"text\" name=\"userName\">
    <br>
    <input type=\"text\" name=\"passWord\">
    <br>
    <input type=\"submit\" value=\"Log ind\">
    <br>
  </div>
</form></body>
</html>

På siderne der er beskyttet via cookie har jeg dette i toppen:

<%
Dim strUserAllowed, arrUserAllowed, userName, found
found = false
strUserAllowed = \"user1,user2\"
arrUseAllowed = Split(strUserAllowed,\",\")
userName    = Request.Cookies(\"MyCookie\")(\"userName\")
for i=LBound(arrUseAllowed) To UBound(arrUseAllowed)
  if arrUseAllowed(i) = userName then 
    found = true
    exit for
  end if
next
if NOT found then
  response.redirect \"http://www.xxxxxx.dk/login.asp\"
end if
%>

Af en eller anden grund bliver der ikke sat en cookie så jeg kan ikke logge ind men bliver smidt tilbage til login.asp.

Hjælp
Avatar billede Slettet bruger
20. juli 2001 - 20:56 #1
ASP eksperterne er gået på druk :O)))
Avatar billede bobbedude Nybegynder
20. juli 2001 - 21:02 #2
yep det er de :ø(
Avatar billede -mascot- Nybegynder
20. juli 2001 - 21:04 #3
det er ikke så smart at rbuge cookies til login systemer...brug istedet sessions se her:
http://www.html.dk/tutorials/asp/lektion12.asp
Avatar billede bobbedude Nybegynder
20. juli 2001 - 21:17 #4
Ser ok ud -mascot- men hvordan laver jeg så mit script ( jeg er ikke haj i asp )
Avatar billede -mascot- Nybegynder
20. juli 2001 - 21:53 #5
jeg sakl nok bikse det sammen så *Gg*
jeg går igang nu...
Avatar billede dkjohn Nybegynder
20. juli 2001 - 21:55 #6
<%
set Conn = SErver.CreateObject(\"ADODB.Connection\")
Dim userName, passWord, redirectPage
if( Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" ) then
  Response.Cookies(\"MyCookie\")(\"userName\") = userName       
  userName = Request.Form(\"userName\")
  passWord = Request.Form(\"passWord\")
  Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"login.mdb\") 
  SQL = \"SELECT * FROM userTable WHERE username LIKE \'\" & userName & \"\' AND password LIKE \'\" & passWord & \"\'\"
  Set RS = Conn.Execute( SQL )
  if( NOT RS.EOF ) then
    Session(\"godkendt\")= true
    response.redirect( RS(\"redirectPage\") )
  end if 
  end if     
%>

start beskyttede sider med
<%
if not session(\"godkendt\") Then
response.redirect \"login.asp\"
end if
%>
Avatar billede -mascot- Nybegynder
20. juli 2001 - 22:02 #7
det her burde virke....test det lige....:

<%
set Conn = Server.CreateObject(\"ADODB.Connection\")
Dim userName, passWord, redirectPage
if( Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" ) then
  userName = Request.Form(\"userName\")
  passWord = Request.Form(\"passWord\")
  Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"login.mdb\")
  SQL = \"SELECT * FROM userTable WHERE username LIKE \'\" & userName & \"\' AND password LIKE \'\" & passWord & \"\'\"
  Set RS = Conn.Execute( SQL )
  if( NOT RS.EOF ) then
    response.redirect( RS(\"redirectPage\") )
    session(\"login\") = username
  end if
  end if
%>

<html><title>www.xxxxx.dk - Kunde - Log ind</title>
<body>
<p align=\"center\"><img src=\"images/infostat.gif\"></p>
<p align=\"center\"><font face=\"Arial, Helvetica, sans-serif\" size=\"2\"><b>Statistik
  log ind</b></font><br>
</p>
<form action=\"\" method=\"POST\">
  <div align=\"center\">
    <input type=\"text\" name=\"userName\">
    <br>
    <input type=\"text\" name=\"passWord\">
    <br>
    <input type=\"submit\" value=\"Log ind\">
    <br>
  </div>
</form></body>
</html>

<%
Dim strUserAllowed, arrUserAllowed, userName, found
found = false
strUserAllowed = \"user1,user2\"
arrUseAllowed = Split(strUserAllowed,\",\")
userName = session(\"login\")
for i=LBound(arrUseAllowed) To UBound(arrUseAllowed)
  if arrUseAllowed(i) = userName then
    found = true
    exit for
  end if
next
if NOT found then
  response.redirect \"http://www.xxxxxx.dk/login.asp\"
end if
%>
Avatar billede bobbedude Nybegynder
20. juli 2001 - 22:02 #8
Hmm dkjohn skal jeg så skrive userName i

<%
if not session(\"bruger_navn\") Then
response.redirect \"login.asp\"
end if
%>
Avatar billede -mascot- Nybegynder
20. juli 2001 - 22:03 #9
jeg tænkte sq nok at alt det sovs der ligger i bunden ikke behøves...
Avatar billede -mascot- Nybegynder
20. juli 2001 - 22:04 #10
bobbe>> den skal bare se ud som den han har skrevet...
Avatar billede bobbedude Nybegynder
20. juli 2001 - 22:14 #11
<%
if not session(\"godkendt\") Then
response.redirect \"login.asp\"
end if
%>

Hvis jeg bruger det skal man jo bare have en godkendt session så kan man komme ind alle steder.
ideen med en cookie var jo at man så kunne checke på siden om eks. jorgen måtte være på test.asp
Avatar billede dkjohn Nybegynder
20. juli 2001 - 22:15 #12
Nope, det eneste du skal bruge userName og password til er at matche dem med databasen.

findes der en match sætter du session(\"godkendt\") til at være sandt, og da alle sessions er unikke er det nok at chekke på om der for den enkelte session er sat et \"hak\" ud for sandt eller ej
Avatar billede bobbedude Nybegynder
20. juli 2001 - 22:16 #13
har lige prøvet det du lavede -mascot-  men det er samme fejl Cookien bliver ikke sat.
Ps. jeg har allow cookie i Browseren, og jeg får Cookies fra andre sider.
Avatar billede dkjohn Nybegynder
20. juli 2001 - 22:25 #14
Det kan du løse meget lettere ved at tildele brugerne Levels istedet.
i databasen laver du et felt der hedder Level og inddeler så dine bruger i x antal levels, alt efter hvormeget de må se/kunne på dit site.

Når du chekker brugernavn og password, og finder et match f.eks.
<%
if not rs.eof then
session(\"godkendt\") = rs(\"Level\")
response.redirect \"velkommen_medlem.asp\" (eller hvad din side nu hedder :-´))
end if
%>

Beskyttede sider starter du så med:
<%
if session(\"godkendt\")<x or session(\"godkendt\")=\"\" then
  response.redirect \"login.asp\"
end if
%>
Avatar billede dkjohn Nybegynder
20. juli 2001 - 22:27 #15
x er naturligvis det level man mindst skal have for at måtte se siden
Avatar billede -mascot- Nybegynder
20. juli 2001 - 22:36 #16
bobbe>> hvor faen finder du en cookie i mit sovs ?
Avatar billede bobbedude Nybegynder
20. juli 2001 - 22:36 #17
dkjohn jeg har en db med 60 bruger som skal til hver sin side og må ikke se de andres derfor er det lavet på den måde med at Cookie skal være = med username.
Avatar billede -mascot- Nybegynder
20. juli 2001 - 22:38 #18
bobbe>> du kan lave fuldkomment det samme med sessions....sessions er smartere da det kan ses af alle men hvis det var lavet med cookies kunne folk med en browser hvor det er slået fra ikke se det...
Avatar billede bobbedude Nybegynder
20. juli 2001 - 22:45 #19
Ok hvor er der noget jeg kan prøve for at se om det virker ( er stadig ikke en haj i ASP :ø))
Avatar billede -mascot- Nybegynder
21. juli 2001 - 10:11 #20
kig lidt mere på det dkjohn har skrevet det er jo lavet med sessions...
Avatar billede bobbedude Nybegynder
21. juli 2001 - 13:17 #21
Jeg lukker spørgsmålet da det er gledet lidt ud på et sidespor det startede med at jeg spurgte om hvorfor mon Cookien ikke blev sat, med det fik jeg aldrig et svar på. Sorry guys, men aligevel tak.:ø)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester