Login ummodellieren zum Autologin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Login ummodellieren zum Autologin

    Hallo,

    ich habe ein Login-Script und würde dies gerne mit AutoLogin-Funktion via Cookie ausstatten.

    Leider waren meine ersten Gehversuche kläglich und sind daher auch gescheitert.

    Anbei lege ich mal die Scripte bei die ich habe.

    Ich würde mich über jede Hilfe freuen.
    Danke im voraus

    login_formular
    PHP-Code:
    <!-- Login Start -->
    <table align="center" cellpadding="0" cellspacing="0" border="0">
    <form name="log" action="login.php" method="post">
    <input type="hidden" name="action_step" value="index/login">
    <input type="hidden" name="timeout" value="1">
    <input type="hidden" name="cookie_check" value="0">
    <tr><td class="text_login">Benutzername&nbsp;</td>
        <td><input type="text" name="login_username" size="15" value="<? echo $login_name; ?>"></td>
        <td>&nbsp;&nbsp;&nbsp;</td>
        <td class="text_login">Passwort&nbsp;</td>
        <td><input name="login_password" type="password" size="12"></td>
        <td>&nbsp;</td>
        <td valign="middle">&nbsp<a href="javascript:document.log.submit();" >
    <font color="black">Login</font></a></td></tr>
    <tr><td colspan="7" height="5"></td></tr></form></table>
    <!-- Login End -->

    login.php
    PHP-Code:
    <?
    if(isset($action_step)) {
    require("./inc/global_config.inc.php");
    require("./inc/login_check.inc.php");

    $SessionId = $sid;
    session_register ("SessionId");
    $MEMBER = $user_loginname;
    session_register ("MEMBER");
    ?>
    <script language="JavaScript">
    <!--
    window.location.href = "member.php?logmsg=<?PHP echo $logmsg?>";
    //-->
    </script>
    <?
    } else { die("<br><b>2Diese Datei darf nicht direkt Aufgerufen werden.</b>"); }
    ?>
    login_check.php

    PHP-Code:
    <?
    include("./inc/global_config.php");

    /* setzte die Gueltigkeitszeit auf eine halbe Stunde ab jetzt */
    $EXPIRE = time() + 60*30;
    /* setzte die Gueltigkeitscheckzeit auf eine ein Stunde ab jetzt */
    $FL = 60*30;

    /* lese IP-Adresse aus */
    $IP = $REMOTE_ADDR;

    /* Browser-Kennung wird ausgelesen und auf 50 Zeichen gekuerzt */
    $BROWSER = addslashes(substr($HTTP_USER_AGENT,-50));

    /* Suche nach abgelaufene Eintraege */
    mysql_query("UPDATE $member SET expire='2' WHERE expire+60*30<".time());

    /* Pruefe ob ein Eintrag mit der sid, IP und Browser des Surfers vorliegt */
    $result = mysql_query("SELECT * FROM $member WHERE 
    uin='".addslashes($sid)."' && expire>".time()." && ip='$IP' && browser='$BROWSER'");
    if(mysql_num_rows($result) == 0) {

    /* Wenn nicht, fuehre Login-Script aus */
    include ("./inc/login_new..php");
    } else {
    /* Wenn alles ok, dann lese den Benutzernamen aus */
    $MEMBER = mysql_result($result,0,0);

    /* Erhoehe die Gueltigkeit des Logins */
    mysql_query("UPDATE $member SET expire='$EXPIRE' WHERE user='$MEMBER'");
    }

    /* Entferne Benutzereinstellungen (s.o.) */
    ?>

    login_new.php
    PHP-Code:
    <?
    if(isset($EXPIRE)) {

    $login_username = $HTTP_POST_VARS['login_username'];
    $login_password = $HTTP_POST_VARS['login_password'];
    $MEMBER = $login_username;
    $crypt_passwd = md5($login_password);

    if(isset($login_username) || isset($login_password)) {
    /* USER-PASSWORD-Kombination existiert oder Fehlermeldung */
    $result = mysql_query("SELECT * FROM $usr WHERE
    user_nick='".addslashes($login_username)."' 
    && user_passwd='".addslashes($crypt_passwd)."'");
    if(mysql_num_rows($result) == 0) {
    $logmsg = 1;
    ?>
    <script language="JavaScript">
    <!--
    window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg?>";
    //-->
    </script>
    <?
    exit;
    }

    if($timeout=="1"){
    $namen = mysql_query("SELECT * from $member where user = '$MEMBER'");
    if(mysql_num_rows($namen) == 1){
    if($expire = mysql_result($namen,0,"expire")){
    if($expire == "2"){
    $logmsg=5;
    /* Loesche abgelaufene Eintraege */
    mysql_query("DELETE FROM $member WHERE user='$MEMBER'");
       }
      }
     }
    }

    $result1 = mysql_query("SELECT * FROM $usr WHERE user_account_status='G' && 
    user_nick='$login_username' && user_passwd='$crypt_passwd'");
    if(mysql_num_rows($result1) == 1){
    $account_sperre = "1";
    $logmsg = 2;
    ?>
    <script language="JavaScript">
    <!--
    window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg?>";
    //-->
    </script>
    <?
    exit;
    }

    $result2 = mysql_query("SELECT * FROM $usr WHERE user_account_status='A' &&
    user_nick='$login_username' && user_passwd='$crypt_passwd'");
    if(mysql_num_rows($result2) == 1){
    $logmsg = 3;
    ?>
    <script language="JavaScript">
    <!--
    window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg?>";
    //-->
    </script>
    <?
    exit;
    }

    /* Berechne neue eindeutige UIN */
    srand((double)microtime()*1000000);
    $sid = md5(uniqid(rand()));
    $IP=$REMOTE_ADDR;
    $r = "0";
    mysql_query("DELETE FROM $member WHERE user='$MEMBER'");
    mysql_query("INSERT INTO $member (user,uin,expire,ip,browser) 
    VALUES ('$MEMBER','$sid','$EXPIRE','$IP','$BROWSER')");
    unset($PWD);

    } else {
    $logmsg = 1;
    ?>
    <script language="JavaScript">
    <!--
    window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg?>";
    //-->
    </script>
    <?
    exit;
     }
    } else {
    die("<br><b>Diese Datei darf nicht direkt Aufgerufen werden.(1)</b>");
    }
    ?>

    Diese Zeile möchte ich dann als Login-Option zusätzlich im Login_formular mit aufnehmen

    PHP-Code:
    <tr><td colspan="7" class="text_klein"><b>Login-Option:</b>&nbsp;
    <
    input type="radio" name="cookie_last" value="1" checked>Solange Browser offen&nbsp;&nbsp;
    <
    input type="radio" name="cookie_last" value="2">24 Stunden&nbsp;&nbsp;
    <
    input type="radio" name="cookie_last" value="3">1 Woche&nbsp;&nbsp;
    <
    input type="radio" name="cookie_last" value="4">4 Wochen</td></tr
    Zuletzt geändert von filecom; 09.03.2004, 19:48.

  • #2
    Re: Login ummodellieren zum Autologin

    Original geschrieben von filecom
    Leider waren meine ersten Gehversuche kläglich und sind daher auch gescheitert.
    was hat deine analyse ergeben, wie das ursprüngliche script funktioniert, und an welchen stellen hast du daraufhin was einzubauen versucht?


    wenn du annimmst, dass wir jetzt dein script für dich analysieren, und die nötigen änderungen vornehmen, liegst du falsch.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X