tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
534
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Torgath
    Torgath Torgath ist offline Mitglied Silber
    Registriert seit
    Feb 2005
    Beiträge
    84
    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...
     

  2. #2
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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.htm
     
    liebe Grüße, die Luzie

  3. #3
    Avatar von Torgath
    Torgath Torgath ist offline Mitglied Silber
    Registriert seit
    Feb 2005
    Beiträge
    84
    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
    %>
     

  4. #4
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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.html
     
    liebe Grüße, die Luzie

  5. #5
    Avatar von Torgath
    Torgath Torgath ist offline Mitglied Silber
    Registriert seit
    Feb 2005
    Beiträge
    84
    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...
     

  6. #6
    Avatar von Torgath
    Torgath Torgath ist offline Mitglied Silber
    Registriert seit
    Feb 2005
    Beiträge
    84
    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
    %>
     

  7. #7
    Avatar von Torgath
    Torgath Torgath ist offline Mitglied Silber
    Registriert seit
    Feb 2005
    Beiträge
    84
    Kann mir niemand helfen?
     
    .:Stellvertretender Aushilfszeremonienmeistersgehilfe dritter Klasse des 1. Offiziellen Sven-Uwe-Fanclubs:.

Ähnliche Themen

  1. Login probleme
    Von sebi0130 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 01.07.09, 16:07
  2. Probleme mit Login :-\
    Von Kalma im Forum PHP
    Antworten: 3
    Letzter Beitrag: 07.11.06, 12:15
  3. PHP Login Probleme
    Von rexee im Forum PHP
    Antworten: 5
    Letzter Beitrag: 05.11.05, 20:26
  4. Login Probleme
    Von Juliet im Forum Internet, DSL & Flatrate
    Antworten: 4
    Letzter Beitrag: 16.04.04, 09:51
  5. Probleme mit Login
    Von x0x im Forum PHP
    Antworten: 3
    Letzter Beitrag: 30.01.03, 10:38