jorre13 Posted August 24, 2007 Share Posted August 24, 2007 In firefox i get following error: The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. * This problem can sometimes be caused by disabling or refusing to accept cookies. in IE i get this: Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10048) in C:\Site\new_site_v2\includes\connect.php on line 8 Failed to connect to database. <?php ini_set('display_errors', 1); // 0 = uit, 1 = aan error_reporting(E_ALL); session_start(); // Session hijacking voorkomen (dit op elke pagina waarvoor men ingelogd hoort te zijn doen !) if( isset( $_SESSION['huidig_ip'] ) AND $_SESSION['huidig_ip'] != $_SERVER['REMOTE_ADDR'] ) { // IP-adres waarmee paginarequest gemaakt wordt is niet gelijk aan IP-adres in sessie: sessie verwijderen. // Geen melding tonen whatsoever, dit is waarschijnlijk een hacker die bezig is. session_unset(); session_destroy(); die(); } //@mysql_connect( 'localhost', '...', '...' ) or trigger_error( mysql_error() ); //@mysql_select_db( '...' ) or trigger_error( mysql_error() ); include_once $_SERVER["DOCUMENT_ROOT"]."/new_site_v2/includes/connect.php"; // Deze functie genereert een willekeurige string function genereer_string( $lengte ) { srand( ( (double) microtime() ) * 1000000 ); $string = ''; // De parser doet irri met zoveel tekens zonder spaties achter elkaar, dus verdeel ik dit ff over meerdere regels $tekens = 'abcdefghijklmnopqrstuvwxyz'; $tekens .= 'ABCDEFGHIJKLMNOPQRSTUWXYZ'; $tekens .= '01234567890123456789'; for( $i = 0; $i < $lengte; $i++ ) { $string .= $tekens{ rand( 0, ( strlen( $tekens ) - 1 ) ) }; } return $string; } if( isset( $_POST['username'], $_POST['response'], $_SESSION['challenge'] ) ) { $query = "SELECT * FROM tabel WHERE username = '" . $_POST['username'] . "' LIMIT 0,1"; $result = mysql_query( $query ) or trigger_error( mysql_error() ); if( mysql_num_rows( $result ) == 0 ) { echo '<div id="error">your username/password isn\'t valid!</div'; } else { $rij = mysql_fetch_assoc( $result ); // Response genereren en vergelijken met wat er opgestuurd is if( sha1( $rij['password'] . ':' . $_SESSION['challenge'] ) != $_POST['response'] ) { // Exact dezelfde melding tonen als wanneer de gebruikersnaam niet in de tabel gevonden kon worden. // Hier een andere melding tonen zou de hacker alleen maar inzicht geven over in hoeverre zijn hackpogingen werken. echo '<div id="error">your username/password isn\'t valid!</div'; } else { // Gebruiker succesvol ingelogd, gegevens opslaan in sessie enzo ... //echo 'Yay ! Succesvol ingelogd !'; //schrijven in DB, ip en tijd $sessie_input= sha1('********'); $_SESSION['login_ok'] = $sessie_input; //doorverwijzen naar index-pagina $link= "index.php"; header("location: ".$link); exit(); } } } // Ik check hier pas of het IP-adres al in de sessie staat en niet bij het session hijacking gedeelte. // Dit omdat het IP-adres in de sessie moet staan VOORDAT er een postback gedaan wordt. // Nou is het in dit kleine scriptje zo dat ik het daar wel neer had kunnen zetten, omdat de challenge ook pas aan het einde // van het PHP deel gegenereerd wordt, maar ik weet niet hoe jij dit script exact gaat implementeren, en ik wil je er wel ff // op attenderen dat je erop moet letten dat een postback niet geldig is wanneer er geen IP-adres / challenge in de sessie // staat. if( isset( $_SESSION['huidig_ip'] ) == FALSE ) { $_SESSION['huidig_ip'] = $_SERVER['REMOTE_ADDR']; } // Elke keer dat de pagina aangevraagd is, of er nou een postback gedaan is of niet, de challenge opnieuw genereren ! $challenge = genereer_string( 255 ); $_SESSION['challenge'] = $challenge; ?> <script type="text/javascript" src="sha.js"></script> <script type="text/javascript"> function createResponse() { document.getElementById('response').value = hex_sha1( document.getElementById('password').value + ":" + document.getElementById('challenge').value ); document.getElementById('password').value = ""; document.getElementById('challenge').value = ""; return true; } </script> <html> <head> <title>login</title> </head> <?php include_once $_SERVER["DOCUMENT_ROOT"]."/new_site_v2/admin/css/css.php"; ?> <body> <div id="login"> <form action="login.php" method="post" onSubmit="return createResponse();"> <table> <tr> <td colspan="2"> <img src="../images/login.png" /> </td> </tr> <tr> <td align="center"><img src="../images/users.png" height="50" alt="username" title="username"/> </td> <td align="center"><input type="text" name="username"></td> </tr> <tr> <td align="center"><img src="../images/security.png" height="50" alt="password" title="password"/> </td> <td align="center"> <input type="password" id="password"> </td> </tr> <tr><td colspan="2" align="center"><input type="hidden" id="challenge" value="<?php echo $challenge; ?>"> <input type="hidden" name="response" id="response" value=""> <input type="submit" value="Log in !"> </td> </tr> </table> </form> </div> </center> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/66464-solved-problem-loading-page/ Share on other sites More sharing options...
jorre13 Posted August 24, 2007 Author Share Posted August 24, 2007 Solved there was a mistake in my file where I select the css Quote Link to comment https://forums.phpfreaks.com/topic/66464-solved-problem-loading-page/#findComment-332789 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.