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:
 
hehe ik ben er niet zo goed in kan iemand die voor mij maken
 
Met een beetje op internet zoeken (of de sectie hier) kom je al aardig ver.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan