ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
534
534
EMPFEHLEN
-
Ich hab ein Login-Script aus dem I-Net versucht ein wenig anzupassen, aber richtig klappen will es nicht...
Hier mal der Code:
default.asp:
Code asp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
<% @ Language="VBScript" LCID = 1031 %><% Option Explicit Response.Buffer = true Session.LCID = 1031 Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "private" Response.Expires = 0 Response.Expiresabsolute = Now() - 1000 Response.CacheControl = "no-cache" Public Steps, User_Name, User_Password, blnError, strSite strSite = Request("Sites") Steps = Request.Form("Steps") User_Name = Request.Form("User_Name") User_Password = Request.Form("User_Password") blnError = false If len(Steps) > 0 Then If len(User_Name) > 0 AND len(User_Password) > 0 Then Call Steps2(strSite, blnError, User_Name, User_Password, Steps) Else blnError = true Call LoginMaske(strSite, blnError) End if Else Call LoginMaske(strSite, blnError) End if Private Sub LoginMaske(ByRef strSite, ByRef blnError) %> <html> <head> <title> Login </title> <meta name="GENERATOR" Content="Microsoft Visual Studio 6.0"> <meta http-equiv="expires" content="0"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> </head> <body> <table align="center"> <form action="default.asp" method="post" id="form2" name="form2"> <input type="hidden" name="Steps" id="Steps" value="2"> <input type="hidden" name="Sites" id="Sites" value="<%=strSite%>"> <tr> <th colspan="2" align="center"> Einloggen </th> </tr> <tr> <td> Name: </td> <td> <input type="text" size="40" name="feld2" id="User_Name" name="User_Name"> </td> </tr> <tr> <td> Passwort: </td> <td> <input type="password" size="40" name="pass1" id="User_Password" name="User_Password"> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="Login" id="submit2" name="submit2" style="width:100px;"> </td> </tr> <% If blnError Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> </form> </table> </body> <% End Sub Private Sub Steps2(byref strSite, byref blnError, byref User_Name, byref User_Password, byref Steps) Dim cn, rs, strConn, strSQL, LoginOK set rs = Server.CreateObject("ADODB.Recordset") set cn = server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(".") & "\admin\db\gad.mdb;" strSQL = "SELECT " & "tbl_member.id, " & "tbl_member.username, " & "tbl_member.password " & "FROM tbl_member WHERE " & "tbl_member.username='" & SQLEncode(User_Name) & "' " & "AND tbl_member.password='" & SQLEncode(User_Password) & "'" rs.Open strSQL, strConn, 3, 1 LoginOK = false if not rs.EOF then if rs.RecordCount = 1 then if User_Name = rs.Fields(1).Value and User_Password = rs.Fields(2).Value then LoginOK = true end if end if end if rs.Close set rs = nothing If LoginOK Then Session("Login") = true If NOT len(strSite) > 0 Then strSite = "test.asp" End if Response.Redirect(strSite) Else blnError = true Call LoginMaske(strSite, blnError) end if End Sub %>
logincheck.asp
Code asp:1 2 3 4 5 6 7 8 9 10 11 12 13 14
<% call logincheck() public function logincheck() dim strSite strSite = Request.ServerVariables("SCRIPT_NAME") if instr(1, strSite, "/") > 0 then strSite = right(strSite, len(strSite) - instrrev(strSite, "/", -1)) end if if not Session("Login") = true then Response.Redirect("default.asp?Sites=" & strSite) end if end function %>
Zum zeigen in welchem Ordner die DB steckt:
getadog\admin\db\gad.asp
Das es nicht richtig funktioniert sieht man im Moment hier: http://asp.se-dd.com/getadog/admin
Problem: Ich will mich einloggen mit dem Benutzernamen Testuser und dem Password zelda2 aber er gibt mir immer an, das es falsch sei...
Woran könnte es liegen? Ich suche schon seit Stunden und finde nichts!
Danke schonmal für Hilfe...
-
Hi
bei mir funktioniert das mit Username und Passwort.
Du solltest aber besser ein Script basiert auf Parametrisierten Kommandos nutzen.
http://www.aspheute.com/artikel/20011031.htmliebe Grüße, die Luzie
-
Ja, unterdessen funktioniert es, da ich den Code mit einem Kollegen angesehen habe und er mir ein paar Dinge korrigiert hat. Auch sowas peinliches wie dies hier:
Code asp:1 2 3 4 5 6 7 8 9
<input type="text" size="40" name="feld2" id="User_Name" name="User_Name"> </td> </tr> <tr> <td> Passwort: </td> <td> <input type="password" size="40" name="pass1" id="User_Password" name="User_Password">
Zweimal hinereinander name in nem Feld...
das ist übel...
Naja...
Danke für deinen Link und hab mal die SQL Injection's (http://www.aspheute.com/artikel/20011030.htm) angesehen und nacher auch mal diese Tricks auf meinen Code angewendet... hat nicht geklappt, also sehe ich ihn mal als sicher an...
Hier der neue Code:
default.asp
Code asp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
<[EMAIL="%@Language="]%@Language="VBScript"%[/EMAIL]> <% Option Explicit dim User_Name, User_Password, blnError, strSite User_Name = Request("User_Name") User_Password = Request("User_Password") If not Isnull(User_Name) then User_Name = trim(User_Name) If not Isnull(User_Password) then User_Password = trim(User_Password) blnError = 0 ' Kein Error If Request.Form ("login") <> "" Then If len(User_Name) > 0 AND len(User_Password) > 0 Then Call Login(User_Name, User_Password) Else blnError = 1 ' Benutzer hat falschen oder kein Bennutzernamen und/oder Password eingegeben End if End if %> <html> <head> <title> Login </title> <meta name="generator" Content="Microsoft Visual Studio 6.0"> <meta http-equiv="expires" content="0"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> </head> <body> <form action="default.asp" method="post" id=form1 name=form1> <table align="center"> <tr> <th colspan="2" align="center"> Einloggen </th> </tr> <tr> <td> Name: </td> <td> <input type="text" size="40" name="User_Name"> </td> </tr> <tr> <td> Passwort: </td> <td> <input type="password" size="40" name="User_Password"> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="Login" name="login" > </td> </tr> <% If blnError = 1 Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> <% If blnError = 2 Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> <% If blnError = 3 Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> </table> </form> </body> <% Private Sub Login( User_Name, User_Password ) Dim cn, rs, strConn, strSQL, LoginOK set rs = Server.CreateObject("ADODB.Recordset") set cn = server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(".") & "\db\gad.mdb;" strSQL = "SELECT " & "id, " & "username, " & "password " & "FROM tbl_member WHERE " & "username='" & User_Name & "' " & "AND password='" & User_Password & "'" rs.Open strSQL, strConn, 1, 1 LoginOK = false if not rs.EOF then if rs.RecordCount = 1 then blnError = 0 ' set the Sessions Values Session("LoginID") = rs("ID") Response.Redirect("test.asp") else blnError = 2 ' Ein unerwarteter Fehler / Mehr als ein Benutzer hat diesen Usernamen end if else blnError = 3 ' Username existiert nicht end if rs.Close set rs = nothing End Sub %>
logincheck.asp
Code asp:1 2 3 4 5 6 7 8 9 10
<% call logincheck() public function logincheck() if not IsNumeric(Session("Login")) then Response.Redirect("default.asp") End if end function %>
-
Hi
du solltest nicht so blauäugig an die Sache rangehen. Auch wenn Dein Script funktioniert, muss es auch sicherheitstechnischen Gründen nicht das beste sein.
Deine Formularwert sind eigentlich ungeschützt.
Diese "Tricks" sind nur ein kleiner Teil aus der Trickkiste.
Wenn man in ASP mit parametrisierten Kommandos arbeiten kann, dann sollte man es tun. Ob dies nun schon mit Access 2000 geht, weiß ich ehrlich gesagt nicht. Aber bei der 2002 Version funktioniert das.
Hier auch nochmal ein Kommentar von Gumbo.
Sicherheitstechnische Belange werden, wenn überhaupt, oft erst im 2. Schritt in Angriff genommen.
http://www.tutorials.de/forum/1293170-post32.htmlliebe Grüße, die Luzie
-
Ja gut, hat schon was für sich...
Aber ich denke ich werd erstmal so weiter machen und später, wenn ich mit den 'groben' Sachen fertig bin, mich ums verfeinern kümmern und auch die Sache mit dem Script nochmals anschauen...
-
Noch etwas... ich versuche durch logincheck.asp zu kontrollieren, das niemand auf die Seiten hinter dem Login drauf kann.
Aber irgendwie sperrt es mir entweder gar nichts oder alles, resp. letzte Woche wurde mir noch alles gesperrt.
default.asp
Code asp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
<[EMAIL="%@Language="]%@Language="VBScript"%[/EMAIL]> <% Option Explicit dim User_Name, User_Password, blnError, strSite dim lang, varlang varlang = Request("lang") User_Name = Request("User_Name") User_Password = Request("User_Password") If not Isnull(User_Name) then User_Name = trim(User_Name) If not Isnull(User_Password) then User_Password = trim(User_Password) blnError = 0 ' Kein Error If Request.Form ("login") <> "" Then If len(User_Name) > 0 AND len(User_Password) > 0 Then Call Login(User_Name, User_Password) Else blnError = 1 ' Benutzer hat falschen oder kein Bennutzernamen und/oder Password eingegeben End if End if %> <html> <head> <title> Login </title> <meta name="generator" Content="Microsoft Visual Studio 6.0"> </head> <body> <%Response.Write session("LoginID")%> <form action="default.asp?lang=<%=varlang%>" method="post" name="form1"> <table align="center"> <tr> <th colspan="2" align="center"> Einloggen </th> </tr> <tr> <td> Name: </td> <td> <input type="text" size="40" name="User_Name"> </td> </tr> <tr> <td> Passwort: </td> <td> <input type="password" size="40" name="User_Password"> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="Login" name="login"> </td> </tr> <% If blnError = 1 Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> <% If blnError = 2 Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> <% If blnError = 3 Then %> <tr> <td align="center" colspan="2"> Fehler: Name oder Passwort fehlt bzw. ist falsch </td> </tr> <% End if %> </table> </form> </body> <% Private Sub Login(User_Name, User_Password) Dim cn, rs, strConn, strSQL, LoginOK set rs = server.CreateObject("ADODB.Recordset") set cn = server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(".") & "..\db\gad.mdb;" strSQL = "SELECT " & "id, " & "username, " & "password " & "FROM tbl_member WHERE " & "username='" & User_Name & "' " & "AND password='" & User_Password & "'" rs.Open strSQL, strConn, 1, 1 LoginOK = false if not rs.EOF then if rs.RecordCount = 1 then blnError = 0 ' set the Sessions Values Session("LoginID") = rs("id") Response.Redirect("test.asp?lang=" & varlang & "") else blnError = 2 ' Ein unerwarteter Fehler / Mehr als ein Benutzer hat diesen Usernamen end if else blnError = 3 ' Username existiert nicht end if rs.Close set rs = nothing End Sub %>
logincheck.asp
Code asp:1 2 3 4 5 6 7 8 9
<[EMAIL="%@Language="]%@Language="VBScript"%[/EMAIL]> <% call logincheck() public function logincheck() if Session("LoginID") = "" or not IsNumeric(Session("LoginID")) then Response.Redirect("default.asp") End if end function %>
-
Kann mir niemand helfen?
.:Stellvertretender Aushilfszeremonienmeistersgehilfe dritter Klasse des 1. Offiziellen Sven-Uwe-Fanclubs:.
Ähnliche Themen
-
Login probleme
Von sebi0130 im Forum PHPAntworten: 5Letzter Beitrag: 01.07.09, 16:07 -
Probleme mit Login :-\
Von Kalma im Forum PHPAntworten: 3Letzter Beitrag: 07.11.06, 12:15 -
PHP Login Probleme
Von rexee im Forum PHPAntworten: 5Letzter Beitrag: 05.11.05, 20:26 -
Login Probleme
Von Juliet im Forum Internet, DSL & FlatrateAntworten: 4Letzter Beitrag: 16.04.04, 09:51 -
Probleme mit Login
Von x0x im Forum PHPAntworten: 3Letzter Beitrag: 30.01.03, 10:38





Zitieren
Login





