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> 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 Link to comment https://forums.phpfreaks.com/topic/66464-solved-problem-loading-page/#findComment-332789 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.