registreer script

Status
Niet open voor verdere reacties.

fonville

Gebruiker
Lid geworden
8 dec 2011
Berichten
93
hallo ik heb een registreer script hij werkt goed alleen het wachtwoordwordt in je data base heel anders dan het ingevulde wachtwoord.
het script:
PHP:
<?
$database ="@@@@@@";
$server ="@@@@@@@@";
$user ="@@@@@@";
$passw ="@@@@@";
mysql_connect("$server","$user", "$passw"); 
mysql_select_db($database);

if(!isset($_REQUEST['submit'])){
?>
<form method=post acion="">
<table>
   <tr>
      <td>
         <font face=verdana size=1>gebruikersnaam:
      </td>
      <td>
         <input type="text" name="name" maxlength="15">
      </td>
   </tr>
   <tr>
      <td>
         <font face=verdana size=1>wachtwoord:
      </td>
      <td>
         <input type="password" name="pass1">
      </td>
   </tr>
   <tr>
      <td>
         <font face=verdana size=1>herhaal wachtwoord:
      </td>
      <td>
            <input type="password" name="pass2">
      </td>
   </tr>
   <tr>
      <td>
         <input type="submit" value=registreer name="submit">
      </td>
      <td>
         <input type="reset">
      </td>
   </tr>
</table>
</form>
<?php
}else{
   //request everything
   $dead = "false";//We make 'dead' if some fields are not filled in don't check for pass and name in db.
   $message = "<font face=verdana size=1>vul alle velden goed in:<br>";
   $username = $_POST['name'];
   $pass1 = $_POST['pass1'];
   $pass2 = $_POST['pass2'];
   //begin search for errors
   if(strlen($username) <= 1 or strlen($username) >=15){
      $dead = "true";
      $message .= "gebruikersnaam (2-14)<br>";
   }
   if(strlen($pass1) < 6 or strlen($pass1) > 20 or $pass1 !== $pass2) {
      $dead = "true";
      $message .= "wachtwoord (6-20) or de 2 wachtwoorden zijn niet het zelfde";
   }
   if($dead = "false"){
      $username = strtolower(trim(strip_tags($username)));
      $pass1 = trim($pass1);
      $pass1 = md5($pass1);
      $query = mysql_query("SELECT * FROM members WHERE username ='$username'");
      $aantalrijen = mysql_num_rows($query);                   
      if($aantalrijen == 1){         
         print "<font face=verdana size=1>Sorry, je grebruikers naam is al geregistreert.";         
      }
      else{
         $query1 = "INSERT INTO members(username, password) VALUES ('$username','$pass1')";
         if(mysql_query($query1)){
             print "<font face=verdana size=1>je bent succesvol geregistreert.";
         }   
      }
      
   }
   elseif($dead == "true"){
         print $message;
   }
}              
?>
 
Laatst bewerkt:
Dat komt omdat je het wachtwoord versleuteld met MD5.
$pass1 = md5($pass1);
 
De regel weg halen. Maar dat is niet verstandig. Als een hacker toegang krijgt tot de database kan die zo alle wachtwoorden achterhalen.
 
De regel weg halen. Maar dat is niet verstandig. Als een hacker toegang krijgt tot de database kan die zo alle wachtwoorden achterhalen.

Agree, altijd de wachtwoorden versleuteld in de database zetten. Echter, MD5 is niet meer zo veilig als dat het was, er zijn technieken om binnen minuten een MD5 collission te vinden: een ander woord dat als je hem md5 codeerd, dezelfde md5 hash geeft.
Als je t echt veilig wilt houden: SHA-1 of meer :)

Greetz,
Jeffrey
 
weg halen van die regel is geen probleem want ze hebben dan de wacht woorden waar ze dan niks mee kunnen aleen een pagina extra. en dat is een gasten boek
 
Het is ook niet erg netjes als jij de wachtwoorden van gebruikers kan zien. De beheerders van Helpmij horen ook niet te weten welk wachtwoord ik gebruik ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan