1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

sicherer Login?

Discussion in 'Web-Know-how für die Homepage' started by Wolle92, Feb 17, 2007.

Thread Status:
Not open for further replies.
  1. Wolle92

    Wolle92 Byte

    wie kann ich auf meienr HP einen sicheren Login machen, sodass man dann zwar wenn das Passwort richtig ist, auf eine andere Seite kommt und sonst nicht, aber dass man nicht einfach die Seite aufrufen kann und man ist drin... hab PHP-Formular, das auch funktioniert, aber man immernoch einfach auf die Seite gehen, wo man hinkommt, wenn man sich einloggt... und das ist dumm... sehr dumm
     
  2. thanathos

    thanathos Byte

    Nimm doch einfach eine .htaccess Datei, damit kannst du gleich das gesamte Verzeichnis schützen und man kann die Zielseite nicht einfach so aufrufen. :D
     
  3. Wolle92

    Wolle92 Byte

    Tutorial für htaccess?
     
  4. thanathos

    thanathos Byte

  5. Wolle92

    Wolle92 Byte

    ok, werde ich machen
     
  6. Wolle92

    Wolle92 Byte

    wie kann ich die .htaccess-Datei verstecken, und stattdessen die daten über ein Formular verschicken?
     
  7. thanathos

    thanathos Byte

    Du musst die .htaccess Datei einfach in das Verzeichnis tun, das du schützen willst und man kann die Datei wegen dem Punkt am Anfang sowieso nicht aufrufen.

    Das Loginfeld kommt von deinem Server aus und ich glaube nicht, dass man da ein eigenes Formular nahmen kann.
     
  8. thanathos

    thanathos Byte

    Und hat alles geklappt? :rolleyes:
     
  9. Wolle92

    Wolle92 Byte

    ja, an sich schon, aber eigentlich soll es ja über ein einfach Login-Forumlar funktionieren, welches die Daten dann an die .htaccess-Datei weiterleitet...
    man könnte das aber so machen, dass in der Asuwertungsdatei eine weitere POST-Variable an die Index-Seite geschickt wird und wenn diese POST-Variable leer ist, wird eine Fehlermeldung angezeigt und man wird auf die Startseite zurück gebracht...
    eine weitere Möglichkeit wäre, die variable $_SERVER['referer'] auszulesen, weil eine Meta-Weiterleitung wird auch als Link angesehen. Und wenn dieser Referer leer ist, dann wurde einfach die Seitenandresse eingegeben... und das geht dann nicht...
    Oder man kreiert ein Script, welches dann einen Schlüssel kreiert, der über das GET-Verfahren an alle links angehängt wird... und sobald die Seite verlassen wird, wird der Schlüsel wieder aus der Datenbank gelöscht... dafür muss ich aber wissen, wie ich den Onlinestatus auslesen kann... gibts ja hier auch ($anzahl Betrachter)...
    Ich bin für die dritte Möglichkeit, also brauche ich ein Script dafür...

    Die Login-Auswertung
    PHP:
    <?
    //Verbinden mit Mysql-Server
    $host "localhost";
    $mysql_user "mein_user";
    $mysql_pass "mein_passwort";
    $database "meine_datenbank";
    $connect mysql_connect($host$mysql_user$mysql_pass);
    mysql_select_db($connect$database);

    //Auslesen der POST-Variablen des Logins
    $user $_POST['user'];
    $pass $_POST['pass'];
    $user_ok "richtiger_username";
    $pass_ok "richtiges_passwort";
    //Auswerten des Logins und kreieren des Schlüssels
    //im Zusammenhang mit der IP-Adresse
    if ($user == $user_ok && $pass == $pass_ok){
    $refresh "ziel_bei_richtigem_login";
    $key rand(1,1000000);
    $refresh .= "?key=";
    $refresh .= $key;
    $ip $_SERVER['REMOTE_ADDR'];
    $query "INSERT INTO keys (ip, key) VALUES ('$ip', '$key')";
    $dummy mysql_query($query);
    }
    else{
    $refresh "die_loginseite";
    }
    ?>
    //Hier folgt dann der HTML-Code für die Weiterleitung
    So,d amit wäre dann der Schlüssel kreiert und in eine Datenbank eingetragen, die Seite nach dem Login wird dann mit einer GET-Variablen geladen, die mit dem Key in der Datenbank verglichen wird, wenn dieser Key existier, wird die IP mit dem Eintrag in der Datenbank verglichen, wenn auch das stimmt, wird die eigentliche Seite geladen, sonst eine Fehlermeldung, das man sich erst einloggen soll. Auf den Seiten im Login-Bereich wird dieses Script überall oben angehängt und die Links werden alle mit der GET-Variablen ausgestattet.
    Problem:
    Der Eintrag in der Datenbank muss gelöscht werden, wenn die Seiten verlassen, egal ob durch einen Logout oder durch das einfache Besuchen einer anderen Seite oder durch das schliessen des Browserfensters. Dafür muss der Onlinestatus abgefragt werden, und wenn der Onlinestatus nicht mehr da ist, wird der Eintrag gelöscht. Wie geht das?
     
  10. thanathos

    thanathos Byte

    Die Idee an sich ist super, aber leider weiß ic nich wie das mit dem Löschen geht.
    Sonst guck doch mal bei :google:
     
Thread Status:
Not open for further replies.

Share This Page