kostenloser Webspace werbefrei: lima-city


wo ist mein denkfehler?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    moinsen ^^
    ich versuch gerade ne seite mit hackerschutz tz schreiben, aber irgendwie komm ich nicht anhinter, wieso das nicht funktioniert?!

    Kann sich das mein ne Pro angucken?
    Thanks!
    MfG Trancer

    P.S.: Ich wei? auch nicht, ob das mit den "case" so richtig ist..vielleicht liegs auch dran !!

    <?
      srand(microtime()*1000000);
      $zufall1 = rand(1,100);
      $zufall2 = rand(1,100);
      $zufall3 = rand(1,100);
      $zufall4 = rand(1,100);
      $zufall5 = rand(1,100);
    ?>
    
    
    <?
    $id = $_GET["id"];
    switch ($id) {
    case 0:
    ?>
    <?
    
    $timeout = $_COOKIE["timeout"];
    
    if ($timeout == 5)
    {
    echo "Interner Bereich<br><br>Sie haben sich bereits 5
     mal falsch eingelogged. Nun k?nnen Sie sich erst wieder
     in einer Woche anmelden";
    }
    
    else
    
    {
    
    echo "<form action=\"index.php?id=$zufall1\" method=\"post\">
    <table width=\"200\">
      <tr>
        <td>Benutzername:</td>
        <td><input type=\"text\" color: #000000; font-family:
     Verdana; border-style: solid; list-style-type: none;
     size=\"23}\" name=\"Name\"></td>
      </tr>
      <tr>
        <td>Passwort:
        <td><input type=\"password\" color: #000000;
     font-family: Verdana; border-style: solid; list-style-type:
     none; size=\"23\" name=\"Passwort\"></td>
      </tr>
    </table>
    <table width=\"200\">
      <tr height=\"5\">
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td><center><input type=\"submit\" value=\"Login\"
     class=\"button\" style=\"width:133px;\"><br>
        <td><input type=\"reset\" value=\"Zur?cksetzen\" 
    class=\"button\" style=\"width:134px;\"></center></td>
      </tr>
    </table>
    </form>";
    
    }
    ?>
    <?
       break;
    case "$zufall1" :
    ?>
    <?
    
    $user = $HTTP_POST_VARS["Name"];
    $pass = $HTTP_POST_VARS["Passwort"];
    
    $username = "test"; // Festlegen des Usernames
    $passwort = "test"; // Festlegen des Passwortes
    
    // Wenn eingegebener Username & Passwort gleich den festgelegten daten sind
    
    if($user == $username && $pass == $passwort) {
    
    setcookie("loginCookie", "isloggedin", time()+60*30 );
    
    echo "<meta http-equiv=\"refresh\"content=\"5; URL=index.php?id=$zufall2\"> <p>Interner Bereich<br>Sie werden weitergeleitet in 5 Sekunden.<br>Wenn nicht bitte hier [<a href=\"index.php?id=$zufall2\">klicken</a>] und dem Admin ankacken</p>";
    
    }
    
    // falls die daten nicht ?bereinstimmen
    
    else
    
    {
    	if (isset($_COOKIE["timeout"]))
    	{
    	$timeout = $_COOKIE["timeout"];
            $timeout = $timeout + 1;
            setcookie("timeout", $timeout, time()+60*20 );
            if ($timeout == 5)
               {
               setcookie("timeout", $timeout, time()+60*60*24*7 );
               }
            echo "<p>Interner Bereich</p><p>Username oder 
    passwort falsch</p>";
             echo "<p>Sie haben sich bereits $timeout mal falsch
     eingeloggt. Beim 5ten Mal werden Sie f?r eine Woche 
    gesperrt</p>";
    	}
    	else
    	{
    	setcookie("timeout", "1", time()+60*20 );
    	echo "<p>Interner Bereich</p><p>Username oder 
    passwort falsch</p>";
    	exit;
    	}
    }
    ?>
    <?
       break;
    case "$zufall2" :
    ?>
    <p>2</p>
    <?
       break;
    case 3:
    ?>
    <p>3</p>
    <?
       break;
    }
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s*n

    Mahlzeit,

    also f?r mich sieht das ziemlich unlogisch aus. Du erzeugst bei JEDEM aufruf neue Zahlen in deine Variablen und bei deinem Login hast du ja auch eine Zufallszahl, die sich aber nach dem absenden ja wieder ?ndert -> die Zahl ?ndert sich und $id entspricht nicht mehr deiner Zufallszahl (ist zumindest h?chst unwahrscheinlich, dass die gleiche Zahl erneut drankommt ^^).

    Einen L?sungsvorschlag kann ich jetzt nicht machen, da m?sste man fast den kompletten Code ?ndern.

    MfG
  4. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    genau das hab ich mir schon fast gedacht, nur ich suche den l?sungsweg.
    nur ich wei? nicht wie das anstellen soll!
    vielleicht gibt es auch ne andere m?glichkeit?
  5. s*n

    Hmm, ich w?rds, wenn du von der Struktur net weg willst, so machen, dass du das mit Sessions l?st.
    Sprich du ?berpr?fst am Anfang ob die Variable, in der die Zufallszahl ist, in der Session bereits registriert wurde und wenn nicht dann registrierst du sie und legst die Zahl fest.

    MfG

    Beitrag ge?ndert am 29.04.2006 13:43 von svn
  6. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    kannst du mir das mit den sessions irgendwie in die struktur einbauen? w?re super nett!
    denn ich kann das nicht so *grimmel*
  7. s*n

    ^^

    session_start();
    if ( !session_is_registered('zufall1') or !session_is_registered('zufall2') ) {
        if ( !session_register('zufall1') ) {
            die('Konnte \'zufall1\' nicht registrieren');
        }
        if ( !session_register('zufall2') ) {
            die('Konnte \'zufall2\' nicht registrieren');
        }
        srand(microtime()*1000000);
        $_SESSION['zufall1'] = rand(1, 100);
        $_SESSION['zufall2'] = rand(1, 100);
    }
    
    $zufall1 = $_SESSION['zufall1'];
    $zufall2 = $_SESSION['zufall2'];


    Kannst du vielleicht mal erkl?ren wieso du da 5 Zufallszahlen erzeugst? ^^
  8. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    na klasse nun ist das ganze projekt schrott!
    gibt es noch eine andere m?glichkeit?
    ich wei? irgendwie nicht was ich genau machen soll.
    ich will nur eine datei haben und da musst ne login + ne paar weitere seiten rein...man darf dann nicht ohne login auf die seite.
  9. k***i

    ganz einfach...

    Beim einloggen wird in eine Datei 1 geschrieben.
    Wenn man auf intere Seiten zugreifen will ?berpr?ft PHP ob der Wert in der Datei 1 ist.

    Beim Ausloggen stellst du die Datei einfach wieder auf 0.
  10. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    das ist eine gute l?sung und wie sieht das im code aus?
  11. Ich habe da so eine Idee maach mal ein simplen
    Login mit der Session 'username'. So auf jeder
    seite schreibst du ein vor deinen Code so:

    if(isset($_SESSION['username']))
    {
    dein Code
    }
    else
    {
    echo 'Logge dich ein';
    }
  12. k***i

    beim einloggen (ich nehme an du hast ein entsprechendes Formular)
    if($_POST['pass'] == "supergeheim")
    { fwrite(fopen("login.txt", "w"), "1", 1);


    auf jeder Seite (au?er ein- und ausloggen) ober dem Administrativen Inhalt
    if(fread(fopen("login.txt", "r"), 2) == 1)
    {
    /*...*/
    }
    else
    {
    echo 'Fehler';
    }


    beim Ausloggen:
    fwrite(fopen("login.txt", "w"), "0", 1);
    echo "Logout erfolgreich";


    Beitrag ge?ndert am 29.04.2006 15:15 von kaini
  13. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    sorry hab aber nicht das richtige logout system daf?r!! noch wer ne idee?
  14. k***i

    was genau ist das Problem?

    Du machst einfach ?berall einen Link auf die Logoutdatei...
  15. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    kannst du bitte dein code + die zahlen f?r ein noob wie mich mal eben ein wenig erkl?ren! thx!
  16. k***i

    if($_POST['pass'] == "supergeheim")
    { fwrite(fopen("login.txt", "w"), "1", 1);


    Wenn das Passwort "supergeheim" ist...
    ... schreibe in dei Datei (die auch ge?ffnet wird) login.txt 1
    ...

    if(fread(fopen("login.txt", "r"), 2) == 1)
    
    {
    
    /*...*/
    
    }
    
    else
    
    {
    
    echo 'Fehler';
    
    }


    wenn der inhalt der datei die gelesen wird (login.txt) 1 ist...
    ...zeige dies und jenes an...

    ansonsten...
    ...zeige die nachricht "Fehler"

    beim Ausloggen genau das gleiche wie beim Einloggen nur wird eine 0 (null) in dei datei geschrieben und ohne Passwort?berpr?fung
  17. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    habs immer noch nicht hinbekommen,...ich check das nicht...
  18. k***i

    was ist denn genau das Problem?:nosmile:
  19. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    das problem liegt daran das ich hier nichts mehr hinbekomme!
    kannst du mir das nicht einfach in meinen code von ganz oben einbauen und mir dann schicken ?
    weil ich basteln nun schon ne paar stunden nur dran rum und komm zu nichts :(
  20. k***i

    echo "<form action=\"index.php?id=$zufall1\" method=\"post\">
    
    <table width=\"200\">
    
      <tr>
    
        <td>Benutzername:</td>
    
        <td><input type=\"text\" color: #000000; font-family:
    
     Verdana; border-style: solid; list-style-type: none;
    
     size=\"23}\" name=\"Name\"></td>
    
      </tr>
    
      <tr>
    
        <td>Passwort:
    
        <td><input type=\"password\" color: #000000;
    
     font-family: Verdana; border-style: solid; list-style-type:
    
     none; size=\"23\" name=\"Passwort\"></td>
    
      </tr>
    
    </table>
    
    <table width=\"200\">
    
      <tr height=\"5\">
    
        <td></td>
    
        <td></td>
    
      </tr>
    
      <tr>
    
        <td><center><input type=\"submit\" value=\"Login\"
    
     class=\"button\" style=\"width:133px;\"><br>
    
        <td><input type=\"reset\" value=\"Zur?cksetzen\"
    
    class=\"button\" style=\"width:134px;\"></center></td>
    
      </tr>
    
    </table>
    
    </form>";
    ?>
    <?
    $user = $HTTP_POST_VARS["Name"];
    $pass = $HTTP_POST_VARS["Passwort"];
    $username = "test"; // Festlegen des Usernames
    $passwort = "test"; // Festlegen des Passwortes
    // Wenn eingegebener Username & Passwort gleich den festgelegten daten sind
    if($user == $username && $pass == $passwort) {
    fwrite(fopen("login.txt", "w"), "1", 1);
    echo "<meta http-equiv=\"refresh\"content=\"5; URL=index.php\"> <p>Interner Bereich<br>Sie werden weitergeleitet in 5 Sekunden.<br>Wenn nicht bitte hier [<a href=\"index.php?\">klicken</a>] und dem Admin ankacken</p>";
    }
    // falls die daten nicht ?bereinstimmen
    else
    {
    echo "Fehler!";
    }
    ?>
    
    <p>2</p><!-- Wozu denn das? -->
    <p>3</p><!-- Wozu denn das? -->
  21. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    was sind die weiteren seiten?
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!