Wie: Passwort "ZuOftFalsch-Meldung" generieren

  • geschlossen

  • reny
  • 1472 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie: Passwort "ZuOftFalsch-Meldung" generieren

    Hi ich habe folgendes Anliegen:
    Ich möchte auf meiner PHP Site ein Loginfeld haben. Wenn man das Passwort aber mehr als dreimal falsch eingegeben hat soll man 5 min warten. Ich habe ein Formular auf welchem man die Daten eingibt. OnSubmit=>an php datei schicken zum prüfen.

    mfg reny
    xnuıl feel free
    ǝlddɐ feel different
    sʍopuıʍ feel bad

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von reny () aus folgendem Grund: Präfix wieder umgestellt

  • Hi,
    ich sehe zwar im Post keine Frage und verstehe auch nicht die Schwierigkeit, die du hast, doch gibt es mehrere Wege zum Ziel.
    PHP: Sessions - Manual
    Oder PHP: Cookies - Manual
    Oder halt über die IP, wobei du natürlich, um IP-Resets zu registrieren, auch verschiedene Varianten kombinieren kannst.
    Oder du speicherst in einem input-hidden Feld die schon getätigte Anzahl.

    Wo ist das Problem?

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • oder - sofern du sowieso ne SQL-DB verwendest - kannst du die fehlgeschlagenen Versuche mit Timestamp auch darin speichern und jedes mal überprüfen lassen, ob in den letzten x Minuten y falsche Passwörter probiert wurden.

    (nicht vergessen das auch von Zeit zu Zeit zu löschen, nicht dass deine DB geflooded wird :D )


    mfg Undeath
    "General, der Mensch ist sehr brauchbar. Er kann fliegen und er kann töten.
    Aber er hat einen Fehler: Er kann denken." - Brecht
    I Don't smoke, I don't drink, I don't fuck! At least I can fucking think!
  • hier findet ihr mal meine leider fehlerhaften codes:
    index.php:

    PHP-Quellcode

    1. <?php session_start();?>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head>
    5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    6. <title>Unbenanntes Dokument</title>
    7. <?php
    8. $timestamp = time();
    9. //$datum = date("i", $timestamp);
    10. $datum=idate(i,$timestamp);
    11. echo $datum;
    12. $_SESSION['zeit']=$datum;
    13. $_SESSION['anzahl']=0;
    14. ?>
    15. </head>
    16. <body bgcolor="#333333">
    17. <form id="form1" name="form1" method="post" action="in.php">
    18. <p>Willkommen auf der Lernwebsite</p>
    19. <p>Zum einloggen bitte Zugangsdaten eingeben</p>
    20. <p>&nbsp;</p>
    21. <p>&nbsp;</p>
    22. <table>
    23. <tr>
    24. <td>
    25. <label> Authentifikationsnummer </label>
    26. </td>
    27. <td>
    28. <input type="text" name="nummer" id="nummer" value="" />
    29. </td>
    30. </tr>
    31. <tr>
    32. <td>
    33. <label> Kennwort </label>
    34. </td>
    35. <td>
    36. <input type="password" name="kenn" id="kenn" value="" /></td>
    37. </tr>
    38. </table>
    39. <p> <input type="submit" name="button" id="button" value="Pruefen" /></p>
    40. </form>
    41. </body>
    42. </html>
    Alles anzeigen


    in.php:

    PHP-Quellcode

    1. <?php session_start();?>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head>
    5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    6. <title>Unbenanntes Dokument</title>
    7. <?PHP
    8. $verbleibend=0;
    9. $_SESSION['authnummer'] = $_POST[nummer];
    10. $_SESSION['kennwort']=$_POST[kenn];
    11. $_SESSION['eingeloggt']=false;
    12. $timestamp = time();
    13. $datum = idate("i", $timestamp);
    14. if($_SESSION['anzahl']<3 ){
    15. if ($_POST[kenn] && $_POST[nummer] && $_POST[kenn]=="kennwort" && $_POST[nummer] =="admin") {
    16. // hier steht der mail-Befehl zum Versenden
    17. $_SESSION['eingeloggt']=true;
    18. //header("Location: innen.php");
    19. echo "Erfolgreich eingeloggt";
    20. echo " <input type=\"submit\" name=\"button\" id=\"button\" value=\"Weiter\" onclick=\"window.location.href='innen.php'\"/>";
    21. } else {
    22. echo "Bitte geben Sie korrekte Daten ein";
    23. echo " <input type=\"submit\" name=\"button\" id=\"button\" value=\"Zurueck\" onclick=\"javascript: history.go(-1)\"/>";
    24. $_SESSION['anzahl']++;
    25. if($_SESSION['anzahl']>=3){
    26. $verbleibend=$_SESSION['zeit'];
    27. $verbleibend=$verbleibend+5;
    28. echo $verbleibend;
    29. }
    30. }
    31. //}else{
    32. //echo " Sie muessen noch warten";
    33. }else{
    34. $timestamp = time();
    35. $datum = date("i", $timestamp);
    36. if($datum==$verbleibend){
    37. $_SESSION['anzahl']=0;
    38. }
    39. }
    40. ?>
    41. </head>
    42. <body bgcolor="#333333">
    43. </body>
    44. </html>
    Alles anzeigen
    xnu&#305;l feel free
    &#477;ldd&#592; feel different
    s&#653;opu&#305;&#653; feel bad

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von reny ()

  • hm... also mal vorn weg....

    du speicherst nich das kennwort und den benutzername in der php datei?


    zum eigentlichen... warum speicherst du die versuche, so wie es undeath gesagt a
    hat, in einer datenbank.... so wie du es machst, is es doch völlig sinnlos... session werden beim browser schliesen doch meines wissens eh ungültig... also fängt es da wieder von vorn an.... bei der datenbank variante ist das unabhängig davon wie oft man den browser schließt....

    mach dir ma da gedanken drüber....

    wenn hilfe brauchst, bekommst die sicher auch hier....