database

Status
Niet open voor verdere reacties.

josvink66

Gebruiker
Lid geworden
18 okt 2006
Berichten
699
hoi ik heb deze code hier van deze site geplukt.

PHP:
<?php 

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() ); 

// 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 'Ongeldige gebruikersnaam en/of wachtwoord1'; 
  } 
  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 'Ongeldige gebruikersnaam en/of wachtwoord2'; 
    } 
    else 
    { 
      // Gebruiker succesvol ingelogd, gegevens opslaan in sessie enzo ... 
      echo 'Yay ! Succesvol ingelogd !'; 
    } 
  } 
} 

// 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="sha1.js"></script> 

<script type="text/javascript"> 
<!-- 
function createResponse() 
{ 
  document.getElementById( 'response' ).value = hex_sha1( hex_sha1( document.getElementById( 'password' ).value ) + ":" + document.getElementById( 'challenge' ).value ); 
  document.getElementById( 'password' ).value = ""; 
  document.getElementById( 'challenge' ).value = ""; 
  return true; 
} 
//--> 
</script> 

<form action="login.php" method="post" onsubmit="return createResponse();"> 
  <div> 
    Username: <input type="text" name="username"> 
    Wachtwoord: <input type="password" id="password"> 
    <input type="hidden" id="challenge" value="<?php echo $challenge; ?>"> 
    <input type="hidden" name="response" id="response" value=""> 
    <input type="submit" value="Log in !"> 
  </div> 
</form>

maar kan iemand mij helpen met het invullen met het @mysql_connect

mijn host is www.funpic.org en die onder steunt

onderandere: Webhosting PHP / MySQl

kan iemand mij pleas helpen.
 
Standaard opmaak:
PHP:
$connection = mysql_connect($host, $username, $password);
$database = mysql_select_db($dbname, $connection);

Dus die twee regels even wijzigen in onderstaand (Is weliswaar langer maar heeft tenminste uitleg)
PHP:
$host= "localhost"; // Adres naar server
$username = " "; // Gebruikersnaam
$password = " "; // Wachtwoord bij gebruikersnaam
$dbname = " "; //Naam van de database

$connection = mysql_connect($host, $username, $password) or die (mysql_error());
$database = mysql_select_db($dbname, $connection) or die (mysql_error());
 
maar hoe moet nu gebruikers toevoegen dat die ook kunnen inloggen
 
Toevoegscript schrijven? :rolleyes:
 
Met een beetje op internet zoeken (of de sectie hier) kom je al aardig ver.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan