Avatar billede fromse Nybegynder
26. februar 2005 - 20:02 Der er 17 kommentarer og
1 løsning

Sikkert login

Hej...

Jeg skal bruge et sikkert login. Så sikkert som muligt.

Der skal ikke være mulighed for at se den beskyttede side efter man er logget ud. (ved at trykke tilbage)

Det skal køre på en Access Database.

ex:
ID, user, pass,
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 20:08 #1
Avatar billede fromse Nybegynder
26. februar 2005 - 20:10 #2
Ja, det havde jeg også tænkt mig, men min viden rækker ikke helt til at lave scriptet selv...

Jeg kunne godt tænke mig en færdig kode... :)
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 20:14 #3
' Login.asp

<!--#include file="md5.asp" -->
<!--#include file="config.inc.asp" -->
<%

  If Request.Form("brugernavn") <> "" Then

  brugernavn = Trim(Replace(Request.Form("brugernavn"),"'","''" ))
  password = Trim(Replace(Request.Form("password"),"'","''" ))

  strSQL = "SELECT COUNT(*) as antal FROM brugere WHERE brugernavn='" & brugernavn & "' AND password='" & MD5(password) & "'"
  Set data = Conn.Execute(strSQL)

  IF data("antal") <> 0 THEN

    Session("log") = "true"
    Session.Timeout = 30
    Response.Redirect("index.asp?side=admin")

  ELSE

    Session("log") = "false"
  %>
    <div style="width: 300px;">
    <br /><br /><br />
      <div id="login">
        <fieldset style="padding: 30px;">
          <legend><img src="images/padlock.gif" alt="" /> <b> Login </b></legend>
          <form action="index.asp?side=login" method="post">
            <div>
              <%= "<span class='error'>Forkert brugernavn og/eller password</span> <br /><br />" %>
              <b> Brugernavn: </b><br />
              <input type="text" name="brugernavn" /><br />
              <br />
              <b> Password: </b><br />
              <input type="password" name="password" /><br />
              <br />
              <input type="submit" value="Login" />
            </div>
          </form>
        </fieldset>
      </div>
    </div>
  <%

  END IF

  Else

  %>
    <div style="width: 230px;">
    <br /><br /><br />
      <div id="login">
        <fieldset style="padding: 30px;">
          <legend><img src="images/padlock.gif" alt="" /> <b> Login </b></legend>
          <form action="index.asp?side=login" method="post">
            <div>
              <br />
              <b> Brugernavn: </b><br />
              <input type="text" name="brugernavn" /><br />
              <br />
              <b> Password: </b><br />
              <input type="password" name="password" /><br />
              <br />
              <input type="submit" value="Login" />
            </div>
          </form>
        </fieldset>
      </div>
    </div>
  <%

  End If

  %>

' Logincheck.asp
' Skal includes (med SSI) på alle de sider som skal beskyttes
<%
If Session("log")=false Then
  Response.Redirect("login.asp")
End IF
%>

Forklaring til includes

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

MD5 krypering, mine passwords ligger krypteret i en ACCESS database, du kan finde md5.asp via. google søgning (det er ret stor, så vil ikke poste)

<!--#include file="config.inc.asp" -->

' config.inc.asp

<%

' Åbner Database adgang

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

%>
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 20:15 #4
Du kan hente md5.asp her:

http://www.thedeathart.dk/md5.asps

Bare ændre navnet til md5.asp :)
Avatar billede fromse Nybegynder
26. februar 2005 - 20:17 #5
hvad gør md5?
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 20:18 #6
md5 er en kryptering.

Du kan selv prøve det her:

http://www.thedeathart.dk/diverse/md5.php
Avatar billede fromse Nybegynder
26. februar 2005 - 20:22 #7
Har du mulighed for at zippe filerne til mig? :)

inkl. db...
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 20:22 #8
kan jeg godt, tager lige 2min.
Avatar billede fromse Nybegynder
26. februar 2005 - 20:23 #9
:)
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 20:31 #10
http://www.thedeathart.dk/login.zip

Der er ikke tilføjet nogle brugere. Ideen med kryptering, er at du skal kryptere dit password med en md5 generator (brug f.eks. mit link.) før du sætter det ind i databasen.

Hvis nogle så skulle stjæle din database, ville de ikke kunne bruge dine passwords alligevel.
Avatar billede fromse Nybegynder
26. februar 2005 - 20:33 #11
hvis man ikke skal kryptere passwordene, skal man så bare lade værre med at inkludere md5?
Avatar billede fromse Nybegynder
26. februar 2005 - 20:43 #12
Jeg har et rigtig godt script nu, men man kan trykke tilbage, og derved se siderne...

Det skal jeg bare have rettet til med lidt mere sikkerhed. (ikke kryptering) :)
Avatar billede fromse Nybegynder
26. februar 2005 - 20:43 #13
Det ved jeg ikke om du har mulighed for?
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 21:01 #14
hvis du ikke vil kryptere, fjerner du MD5 fra MD5(password)

Mht. at trykke back. Jeg har ikke tilføjet en logud funktion, og et sessionbasert loginsystem, vil først logge dig ud når sessionen dør, dvs. når browseren lukker.
Avatar billede fromse Nybegynder
26. februar 2005 - 21:02 #15
smid svar....
Avatar billede fromse Nybegynder
26. februar 2005 - 21:02 #16
Jeg indsatte bare:

<%
Response.CacheControl = "no-cache"
%>

Tak for hjælpen...
Avatar billede alister_crowley Nybegynder
26. februar 2005 - 22:18 #17
np :)

Jeg samler ikke på points, så svar selv.
Avatar billede fromse Nybegynder
26. februar 2005 - 22:24 #18
Så er du bare selv ude om det... ;)
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