Avatar billede jmjveb Nybegynder
30. november 2007 - 23:14 Der er 20 kommentarer og
1 løsning

simpel asp login, men til flere sider.

jeg skal bruge et login i ASP evt. PHP der skal kunne gøre følgende :
1. man skal logge sig på og lande på en anden side.
2. fra denne side er der link til mange andre sider, der også skal være beskyttede.
3. det skal ikke være muligt at skrive direkte til disse sider i browseren - nogen der kan det ?
Avatar billede jansangill Nybegynder
01. december 2007 - 00:38 #1
loginside:
<%
'åbner databasen
set conn = server.CreateObject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("database/login.mdb")

'trimmer formfelterne, plus sørger for at d eikke kan bruge Overwite key
brugernavn = Trim(Replace(Request.Form("brugernavn"),"'","''" ))
kodeord = Trim(Replace(Request.Form("kodeord"),"'","''" ))

'sql
set db = conn.execute("SELECT * FROM admin WHERE bruger = '"&brugernavn&"' AND kode = '"&kodeord&"'")

'tjekekr om brugernavn og kodeord er i databsen
If Not (db.BOF Or db.Eof) Then
Session("id") = db("id")
session("admlogin") = True
Response.redirect "adminLoginTRUE.asp"
End If   
    Else
Response.redirect "adminLogin.asp"

end if

'forbindelse slut
Conn.Close
Set Conn = Nothing
end if
%>

'form til login
<form action="adminLogin.asp" method="post">
Brugernavn<br>
input name="brugernavn" type="text">
Kodeord<br>
<input name="kodeord" type="password">
<input name="log" type="submit" value="Login">
</form>

---------------------------------------------------------------

checklogin, skal includeres i toppen af alle de sider der skal være sikre.

<%
'beskytter de sidder man inkluderer den
If Session("admlogin") <> True then
Response.Redirect "adminLogin.asp"
End if
%>

------------------

adminlogintrue:

<!--#include file="adminCheckLogin.asp"-->

<a href="test.asp">test</a><br>

<a href="test2.asp">test2</a><br><br>



Det er en basisk måde at gøre det på.

Først en loginside. Derefter logger du ind og kommer over på en anden side, adminlogintrue.asp. I de sider der skal være sikre inkulderer du adminchecklogin.asp
Avatar billede jmjveb Nybegynder
01. december 2007 - 01:30 #2
ja jeg forstår nu ikke så meget af det - men der skal ikke være en database - blot ET login til Èn bruger - ser det så anderledes ud.

de sider der skal være beskyttede SKAL det være asp sider - eller kan det være html ?
Avatar billede jansangill Nybegynder
01. december 2007 - 06:25 #3
hvis der ikke er en database, så ser loginsiden sådan her ud.

loginside:
<%
'trimmer formfelterne, plus sørger for at d eikke kan bruge Overwite key
brugernavn = Trim(Replace(Request.Form("brugernavn"),"'","''" ))
kodeord = Trim(Replace(Request.Form("kodeord"),"'","''" ))


If brugernavn = "bruger" AND kodeord = "kode" then
session("admlogin") = True
Response.redirect "adminLoginTRUE.asp" 
Else
Response.redirect "adminLogin.asp"
end if
%>

'form til login
<form action="adminLogin.asp" method="post">
Brugernavn<br>
input name="brugernavn" type="text">
Kodeord<br>
<input name="kodeord" type="password">
<input name="log" type="submit" value="Login">
</form>



I den her tilfælde er brugernavnet test og kodeordet er kode.

Og ja, det skal være ASP sider, ihvertfald med dette her kode. Det kan ikke være .html.
Avatar billede jmjveb Nybegynder
01. december 2007 - 08:34 #4
hej tak for svaret. jeg skal lige have helt fat i det du skriver.
1. jeg har en login side der hedder login.asp ( det er den der tjekker bruger og password )( og den du kalder "loginside" )
2. jeg har en side hvor man logger sig på der hedder medllogin.asp ( det er den med formularen og action "login.asp)(og den du kalder "form til login")
3. jeg har en side hvor man lander når man har logget sig på der hedder secr.asp - her skal der inkluderes en sikkerhed i toppen
4. kan du ud fra dette rette i den kode du har skrevet - så jeg kan bruge den ?
5. hvor kommer dette ind i billedet
adminlogintrue:

<!--#include file="adminCheckLogin.asp"-->

<a href="test.asp">test</a><br>

<a href="test2.asp">test2</a><br><br>
Avatar billede jansangill Nybegynder
01. december 2007 - 12:16 #5
'medllogin.asp.asp
<form action="login.asp" method="post">
Brugernavn<br>
input name="brugernavn" type="text">
Kodeord<br>
<input name="kodeord" type="password">
<input name="log" type="submit" value="Login">
<input name="tjek" type="hidden" value="123">
</form><br><b><%=html%></b>



login.asp

<%
'trimmer formfelterne, plus sørger for at d eikke kan bruge Overwite key
brugernavn = Trim(Replace(Request.Form("brugernavn"),"'","''" ))
kodeord = Trim(Replace(Request.Form("kodeord"),"'","''" ))

if tjek="123" then
If brugernavn = "bruger" AND kodeord = "kode" then
session("admlogin") = True
Response.redirect "secr.asp" 
Else
html="Forkert kode"
Response.redirect "medllogin.asp"
end if
end if
%>

secr.asp

<%
'beskytter de sidder man inkluderer den
If Session("admlogin") <> True then
Response.Redirect "medllogin.asp"
End if
%>

<b>SIKKER SIDE</b>
<a href="test.asp">test</a><br>
<a href="test2.asp">test2</a><br><br>
Avatar billede jmjveb Nybegynder
01. december 2007 - 12:45 #6
det virker desværre ikke - det eneste jeg får op er en hvid blank side.
tror også der manglede en enkelt ( < )  ved input name="brugernavn" type="text">

hmmm - hva gør stakkels jeg
Avatar billede jansangill Nybegynder
01. december 2007 - 14:38 #7
det skulle da virke, hvor går det galt?
Avatar billede nielle Nybegynder
01. december 2007 - 15:13 #8
Der mangler da en:

tjek = Request.Form("tjek")

i login.asp ?
Avatar billede jansangill Nybegynder
01. december 2007 - 20:57 #9
ja det gør der da også:_)
Avatar billede nielle Nybegynder
01. december 2007 - 21:06 #10
Umiddelbart mangler det også et '<'-tegn i din form:

input name="brugernavn" type="text">
Avatar billede jansangill Nybegynder
01. december 2007 - 22:00 #11
ja men jeg regner jo også med at han kan sætte den på. Det gik jo hurtigt da det skulle skrives.
Avatar billede jmjveb Nybegynder
02. december 2007 - 00:54 #12
jeg så godt den manglende <

men i hvilken linie vil du putte : tjek = Request.Form("tjek")
på forhånd tak !
Avatar billede jmjveb Nybegynder
02. december 2007 - 01:03 #13
tillægs spørgsmål : medlemssiderne skal indeholde en del pdf filer - kan de beskyttes - evt. hvordan ?
Avatar billede jansangill Nybegynder
02. december 2007 - 01:15 #14
tjek = Request.Form("tjek")
skal komme lige efter
kodeord = Trim(Replace(Request.Form("kodeord"),"'","''" ))


Med hensyn til om pdf filerne kan beskyttes, så ved jeg ikke noget om dette. Men du kan jo give dem et intetsigende navn, så bliver det vel sværere at kende pathen til disse.

Du mener vel at medlemsiden skal indeholde en del links til pdf'er som du har på serveren?

Ellers kan du jo også passworde pdf filer, og skrive koden ved siden af linket på den sikre medlemside.

Andet end det, så må der snakkes med en anden, måske nielle ved noget.
Avatar billede jmjveb Nybegynder
02. december 2007 - 11:56 #15
ja links til pdf filer, som er på serveren - klart.
Jeg må spøreg rundt om det emne.

Prøver lige din kode af igen - ser om det virker.
Avatar billede jmjveb Nybegynder
02. december 2007 - 12:33 #16
har nu prøvet koden igen, men det virker altså ikke efter hensigten, og jeg har brugt den nøjagtige kode du har angivet. men jeg ved ikke hvor de test.asp kommer ind i billedet, som du vil have på secr.asp :
<b>SIKKER SIDE</b>
<a href="test.asp">test</a><br>
<a href="test2.asp">test2</a><br><br>

min fil medllogin.asp har du ændret til medllogin.asp.asp ?
Avatar billede jansangill Nybegynder
02. december 2007 - 13:37 #17
ja det har været en copy paste fejl så.

Mhs til secr.asp:

Så er de links bare for show, jeg ved jo ikke hvad du vil have på secr.asp....Det er jo op til dig.

Sådan som det fungerer:

Du starter på medllogin.asp: SP skriver du brugernavn og password ind, og trykker på submit.

Så kommer du over på login.asp, som så enten redirecter dig til den sikre side secr, hvis passwords er korrekt, eller tilbage til medllogin.asp, hvis password er forkert.

Har lige selv testet det igennem og det virker fint:

Her er koden :


medllogin.asp:::::::::::::::::::::::::::::::::::::::::::::::::::::::

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>

<form action="login.asp" method="post">
Brugernavn
<input name="brugernavn" type="text"><br />
Kodeord
<input name="kodeord" type="password"><br />
<input name="log" type="submit" value="Login">
<input name="tjek" type="hidden" value="123">
</form><br>
<b><%if request.QueryString("html") = 1 then response.write "forkert login"%></b>
</body>
</html>


login.asp::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>

<%
'trimmer formfelterne, plus sørger for at d eikke kan bruge Overwite key
brugernavn = Trim(Replace(Request.Form("brugernavn"),"'","''" ))
kodeord = Trim(Replace(Request.Form("kodeord"),"'","''" ))
tjek = Request.Form("tjek")


if tjek="123" then
If brugernavn = "bruger" AND kodeord = "kode" then
session("admlogin") = True
Response.redirect "secr.asp" 
Else
Response.redirect "medllogin.asp?html=1"
end if
end if
%>

</body>
</html>


SECR.asp:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>


secr.asp

<%
'beskytter de sidder man inkluderer den
If Session("admlogin") <> True then
Response.Redirect "medllogin.asp"
End if
%>
<br />
<b>SIKKER SIDE</b>
</body>
</html>




Hvis du putter dette ind i de filer jeg siger, og bruger koden = kode og bruger = bruger, så virker det.
Avatar billede jmjveb Nybegynder
02. december 2007 - 16:09 #18
fantastisk det virker sgu - du er da også en supermand ;o)
siger utroligt mange tak for hjælpen - mange roser herfra.

nu skal du så have de point - hvod´n gør vi ?
Avatar billede jansangill Nybegynder
02. december 2007 - 16:50 #19
Tror jeg lægger et svar, og så accepterer du den:)

Og det var så lidt - det er jo det eksperten er for jo. Håber det hele lykkedes for dig.
Avatar billede jmjveb Nybegynder
02. december 2007 - 17:33 #20
det lykkedes fint, men pga. din uvurderlge hjælp.
Avatar billede nielle Nybegynder
03. december 2007 - 06:55 #21
:^)
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