Jump to content

[SOLVED] problem loading page


jorre13

Recommended Posts

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.