Avatar billede bigo Nybegynder
17. november 2000 - 09:21 Der er 6 kommentarer og
1 løsning

Password og IPnummer

Jeg har DL password_redirect.zip fra ASP.dk og vil nu gerne have at brugerens IP bliver logget sammen med brugernavn og password der bliver indtastet. Efter 3 forkerte forsøg.. BYE!

Er det noget I kan hjælpe til med..
Avatar billede etlekana Nybegynder
17. november 2000 - 09:31 #1
Kan jeg få dig til at poste koden her?

Etle
Avatar billede bigo Nybegynder
17. november 2000 - 09:41 #2
<%
\' Hvis der er blevet trykket på knappen \"Login\"
If Request.Form(\"Action\") = \"Login\" Then
    \' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form(\"Brugernavn\"),\"\'\",\"\"))
    strPWD = Trim(Replace(Request.Form(\"Adgangskode\"),\"\'\",\"\"))

    \' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        \' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject(\"ADODB.Connection\")
        myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"protect.mdb\")

        \' Opbygning af SQL streng
        strSQL = \"SELECT * FROM Users\"&_
            \" WHERE (Username = \'\" & strUID & \"\')\"&_
            \" AND (Password = \'\" & strPWD & \"\')\"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            \' Hvis brugeren fandtes i databasen
            intUID = rs(\"UserID\")
            intTRAN = rs(\"Transfer\")
           
           
        Else
            \' Hvis brugeren ikke fandtes i databasen
            strERR = \"Du blev ikke godkendt af systemet\"
        End If

        \' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            \' Hvis variablen intUID indeholder en værdi sættes denne i sessionen \"UserID\" og brugeren bliver sendt videre
            Session(\"UserID\") = intUID
            Response.Redirect intTRAN
        End If
    Else
        \' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = \"Du skal skrive både brugernavn og adgangskode\"
    End If

    If Len(strErr) > 0 Then
        \' Her laves fejlmeddelsen om til rød skrift
        strErr = \"<p><font color=red>\" & strErr & \"</font></p>\"
    End If
End If
%>
<html><head>
<title>Login script</title>
</head><body>
<form method=\"POST\" action=\"login.asp\">
  <p><font size=\"4\">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border=\"0\">
    <tr>
      <td width=\"50%\">Brugernavn:</td>
      <td width=\"50%\"><input type=\"text\" name=\"Brugernavn\" size=\"20\"> (test)</td>
    </tr>
    <tr>
      <td width=\"50%\">Adgangskode:</td>
      <td width=\"50%\"><input type=\"password\" name=\"Adgangskode\" size=\"20\">
        (test)</td>
    </tr>
  </table>
  <p><input type=\"submit\" value=\"Login\" name=\"Action\"></p>
</form>
url
</body></html>

Avatar billede bigo Nybegynder
17. november 2000 - 09:42 #3
<%
If isEmpty(Session(\"UserID\")) Then
    Response.Redirect(\"login.asp\")
End If
%>
Avatar billede etlekana Nybegynder
17. november 2000 - 09:52 #4
Er det i orden at jeg bare gemmer værdierne i en ny tabel i databasen? Så du bare skal lave en tabel der hedder \"LOG\"
med felterne:
id = autonumber
ip = text
dato = text

Avatar billede etlekana Nybegynder
17. november 2000 - 10:05 #5
<%
\' Hvis der er blevet trykket på knappen \"Login\"
If Request.Form(\"Action\") = \"Login\" Then
    \' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form(\"Brugernavn\"),\"\'\",\"\"))
    strPWD = Trim(Replace(Request.Form(\"Adgangskode\"),\"\'\",\"\"))

    \' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        \' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject(\"ADODB.Connection\")
        myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"protect.mdb\")

        \' Opbygning af SQL streng
        strSQL = \"SELECT * FROM Users\"&_
            \" WHERE (Username = \'\" & strUID & \"\')\"&_
            \" AND (Password = \'\" & strPWD & \"\')\"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            \' Hvis brugeren fandtes i databasen
            intUID = rs(\"UserID\")
            intTRAN = rs(\"Transfer\")
           
           
        Else
                if session(\"logintry\") <> \"\" then
        session(\"logintry\") = Cint(session(\"logintry\")) + Cint(\"1\")
        else
        session(\"logintry\") = \"1\"
        end if
        if session(\"logintry\") >= \"3\" then
   
    \'Dette opretter Log dataen
        Set rs = Server.CreateObject(\"ADODB.RecordSet\")
        strSQL = \"SELECT * FROM [log] WHERE (ID = 0)\"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
        rs.AddNew
        rs(\"ip\") = Request.ServerVariables(\"REMOTE_ADDR\")
        rs(\"dato\") = date
        rs.Update
        rs.Close
        Set rs = Nothing
        End If       
       
        \' Hvis brugeren ikke fandtes i databasen
            strERR = \"Du blev ikke godkendt af systemet\"
        End If

        \' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            \' Hvis variablen intUID indeholder en værdi sættes denne i sessionen \"UserID\" og brugeren bliver sendt videre
            Session(\"UserID\") = intUID
            Response.Redirect intTRAN
        End If
    Else
        \' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = \"Du skal skrive både brugernavn og adgangskode\"
    End If

    If Len(strErr) > 0 Then
        \' Her laves fejlmeddelsen om til rød skrift
        strErr = \"<p><font color=red>\" & strErr & \"</font></p>\"
    End If
End If
%>
<%
if session(\"logintry\") >= \"3\" then
%>
<html><head>
<title>Login script</title>
</head><body>
Du har prøvet at logge ind for mange gange.
<%
else
%>
<html><head>
<title>Login script</title>
</head><body>
<form method=\"POST\" action=\"login.asp\">
  <p><font size=\"4\">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border=\"0\">
    <tr>
      <td width=\"50%\">Brugernavn:</td>
      <td width=\"50%\"><input type=\"text\" name=\"Brugernavn\" size=\"20\"> (test)</td>
    </tr>
    <tr>
      <td width=\"50%\">Adgangskode:</td>
      <td width=\"50%\"><input type=\"password\" name=\"Adgangskode\" size=\"20\">
        (test)</td>
    </tr>
  </table>
  <p><input type=\"submit\" value=\"Login\" name=\"Action\"></p>
</form>
url
</body></html>
<%
end if
%>

Dette skulle virke, men jeg kan ikke teste, jeg har ikke datebasen.

Mvh Etle
Avatar billede bigo Nybegynder
17. november 2000 - 10:57 #6
får følgende fejl:
Microsoft VBScript compilation error \'800a03f4\'

Expected \'If\'

/login/login.asp, line 104

end
---^

Avatar billede bigo Nybegynder
17. november 2000 - 10:57 #7
<%
\' Hvis der er blevet trykket på knappen \"Login\"
If Request.Form(\"Action\") = \"Login\" Then
    \' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form(\"Brugernavn\"),\"\'\",\"\"))
    strPWD = Trim(Replace(Request.Form(\"Adgangskode\"),\"\'\",\"\"))

    \' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        \' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject(\"ADODB.Connection\")
        myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"protect.mdb\")

        \' Opbygning af SQL streng
        strSQL = \"SELECT * FROM Users\"&_
            \" WHERE (Username = \'\" & strUID & \"\')\"&_
            \" AND (Password = \'\" & strPWD & \"\')\"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            \' Hvis brugeren fandtes i databasen
            intUID = rs(\"UserID\")
            intTRAN = rs(\"Transfer\")
           
           
        Else
                if session(\"logintry\") <> \"\" then
        session(\"logintry\") = Cint(session(\"logintry\")) + Cint(\"1\")
        else
        session(\"logintry\") = \"1\"
        end if
        if session(\"logintry\") >= \"3\" then
   
    \'Dette opretter Log dataen
        Set rs = Server.CreateObject(\"ADODB.RecordSet\")
        strSQL = \"SELECT * FROM [log] WHERE (ID = 0)\"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
        rs.AddNew
        rs(\"ip\") = Request.ServerVariables(\"REMOTE_ADDR\")
        rs(\"dato\") = date
        rs.Update
        rs.Close
        Set rs = Nothing
        End If       
       
        \' Hvis brugeren ikke fandtes i databasen
            strERR = \"Du blev ikke godkendt af systemet\"
        End If

        \' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            Session(\"UserID\") = intUID
            Response.Redirect intTRAN
    Else
        \' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = \"Du skal skrive både brugernavn og adgangskode\"
    End If

    If Len(strErr) > 0 Then
        \' Her laves fejlmeddelsen om til rød skrift
        strErr = \"<p><font color=red>\" & strErr & \"</font></p>\"
    End If
End If
%>
<%
if session(\"logintry\") >= \"3\" then
%>
<html><head>
<!-- Minus AutoDato -->
<title>Login script</title>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\">
</head><body>
Du har prøvet at logge ind for mange gange.
<%
else
%>
<html><head>
<title>Login script</title>
</head><body>
<form method=\"POST\" action=\"login.asp\">
  <p><font size=\"4\">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border=\"0\">
    <tr>
      <td width=\"50%\">Brugernavn:</td>
      <td width=\"50%\"><input type=\"text\" name=\"Brugernavn\" size=\"20\"> (test)</td>
    </tr>
    <tr>
      <td width=\"50%\">Adgangskode:</td>
      <td width=\"50%\"><input type=\"password\" name=\"Adgangskode\" size=\"20\">
        (test)</td>
    </tr>
  </table>
  <p><input type=\"submit\" value=\"Login\" name=\"Action\"></p>
</form>
url
</body></html>
<%
end if
%> 
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