MD'5en lukt niet

Status
Niet open voor verdere reacties.

gebruiker35

Gebruiker
Lid geworden
29 mrt 2008
Berichten
434
Ik had een script dat goed werkte, maar het niet meer goed doet. de md'5 code die ik gemaild krijg komt niet overeen met degene die het moet zijn.

het kan miss ook aan mijn inbox liggen, zeg dan wat daar anders moet.

PHP:
<?php session_start(); ?>





<?php





if ($_POST[hpass] != "") {






    if(stristr($browser_user_agent, "Opera")) 
    { 
        $browser = "Opera"; 
    }  
    elseif(stristr($browser_user_agent, "Msie")) 
    { 
        $browser = "Internet Explorer"; 
    }
    elseif(stristr($browser_user_agent, "Netscape")) 
    { 
        $browser = "Netscape"; 
    } 
    elseif(stristr($browser_user_agent, "Firefox")) 
    { 
        $browser = "Firefox"; 
    } 
    elseif(stristr($browser_user_agent, "Gecko")) 
    { 
        $browser = "Mozilla"; 
    } 
    else 
    { 
        $browser = "Onbekend"; 
    }  




$user = "$_POST[username]";
$hpass = md5($_POST[hpass]);
$npass = md5($_POST[npass]);
$cnpass = md5($_POST[cnpass]);
$mail = $_POST[mail];
$ip = $_SERVER['REMOTE_ADDR']; 
setlocale (LC_ALL, 'nl_NL'); 
$datum = strftime ("%A %d-%m-%Y");
$naam_ontvanger = 'Webmaster H3c';
$email_ontvanger = 'a@b.nl';
$naam_verzender = 'www.h3cpm.nl | Tj';
$email_verzender = 'webmaster@h3cpm.nl';

if($_POST[wwweg] == TRUE){ $onderwerp = " $user is zijn/haar wachtwoord vergeten... ( $datum )"; } else {  $onderwerp = "Wachtwoord voor $user wijzigen! ( $datum )"; }
$headers = "From: ".$naam_verzender." <".$email_verzender.">\n";
$headers .= "Content-type: text/html;  charset=iso-8859-1\n";

if($npass != $cnpass){ echo'<html>
<head>
<meta http-equiv="Content-Language" content="nl">

<title>Wachtwoord wijzigen/vergeten</title>
<LINK HREF="styleframe.css" REL="stylesheet" TYPE="text/css"> </head> <body> De twee nieuwe wachtwoorden komen niet overeen! </body> </html>'; die(); } 

    $bericht = "

<style><!--
BODY {
margin: 0px 0px 0px 0px;
	background-color : #d5ddf3 ;
	color : #000000;
	align: center;
	font-family: sans-serif;
	font-size: 12px;
	}
td,tr,div {
	
	margin-left: auto; margin-right: auto; 
	font-family: sans-serif;
	font-size: 12px;
	color: #000000;
	width: 500;
	}
table {
	background-color: #d5ddf3;
        }
--></style>
<div>
<p>
Webmaster H3c,
</p>
De gebruiker ".$user." wil zijn of haar wachtwoord wijzigen in: ".$npass.".
<p>
Hierbij de gegevens van de aanvraag:
</p>
<p>
Gebruikersnaam: ".$user." <br>
E-mail adres: ".$mail." <br>
Huidig wachtwoord: ".$hpass." <br>
Aangevraagd nieuw wachtwoord: ".$npass." <br>
Datum aanvraag: ".$datum." <br>
IP adres aanvraag: ".$ip." <br>
Browser aanvraag: ".$browser." <br>
</p>
<p>
Met vriendelijke groet,
<p>
Site H3c
</p>
<p></p>


LET OP! Dit is een automatisch bericht en dient enkel ter informatie. Bij onjuiste adresering wordt u verzocht deze mail te vernietigen en de webmaster hiervan op de hoogte te stellen.

</div>
";


mail($email_ontvanger, $onderwerp, $bericht, $headers);
echo('<html>
<head>
<meta http-equiv="Content-Language" content="nl">

<title>Wachtwoord wijzigen/vergeten</title>
<LINK HREF="styleframe.css" REL="stylesheet" TYPE="text/css"> </head> <body> <b>Je aanvraag om je wachtwoord te veranderen is verzonden!</b> </body></html>');
die();
} 


?>

<html>
<head>
<meta http-equiv="Content-Language" content="nl">

<title>Wachtwoord wijzigen/vergeten</title>
<LINK HREF='styleframe.css' REL='stylesheet' TYPE='text/css'>

<script language='JavaScript' type='Text/JavaScript'>

<!--   if (top.location == self.location) { top.location.href = 'http://home.kliksafe.nl/klassesite/index.php?page=1'  } //--> 

</script> 
</head>

<body>
Voer hieronder je gegevens in. Deze worden dan naar de webmaster gestuurd, welke bij correcte gegevens je wachtwoord zal wijzigen. LET OP! De webmaster ziet je wachtwoord NIET. Als je je wachtwoord vergeten bent, vink dat dan aan. De webmaster zal dan nog contact met je opnemen. 

<form method="POST" action="./ww.php">

	<p> </p>
	<p> </p>
Gebruikersnaam:
			<input   CLASS="textbox" TYPE="text"  name="username" size="28"><p>


 Wachtwoord vergeten?<input type="checkbox"  name="wwweg" onclick=''>

<p>		

Huidig wachtwoord:
			<input   CLASS="textbox" type="password"  name="hpass" size="28"><p>
			Nieuw wachtwoord:              
	<input   CLASS="textbox" type="password" name="npass" size="28">
<p>		
		Herhaal nieuw wachtwoord:              
	<input   CLASS="textbox" type="password" name="cnpass" size="28">
<p>		
		
E-mail adres:              
	<input   CLASS="textbox" type="text" name="mail" size="28">
<p>		
	&nbsp;<input type="submit" value="Nieuw wachtwoord laten instellen..." name="ok">

	<p> </p>


</form>

</body>
</html>
 
Kun je anders alleen de relevante code posten? Dit is wel een hele hoop rotzooi waar niemand iets aan heeft. Ik zie zo gauw wel wat rare dingen, zo zet je in de mail de md5, en daar heeft niemand iets aan.

Overigens horen er om array-keys die niet-numeriek zijn gewoon single quotes.
 
Ik zie ook nergens een query die iets update, er vanuitgaande dat je een database gebruikt.

Daarnaast vraag ik mij af waarom je een $_POST-variabele gebruikt voor het nieuwe wachtwoord.

Dus als ik mijn wachtwoord zou zijn vergeten dan kan ik simpel een nieuw wachtwoord intypen zodat ik daarmee kan inloggen? Of hoe moet ik het gaan zien?

De manier welke ik laatst heb gebruikt is gewoon een random wachtwoord genereren.
Die MD5-en en in de database gooien, vervolgens het originele wachtwoord naar de persoon in kwestie sturen naar het adres welke in de database opgeslagen is.
 
je hebt een pagina die een door bezoeker aangevraagd nieuw wachtwoord post naar deze pagina, die ze vervolgens md'5 t en ze via mail stuurt.
dat md5en voor veiligheid users.
ik maar geen gebruik van database, maar van array met gegevens.
aangezien ik de gebruikers iedere dag zie is het het veiligst om zelf te wijzigen.

ik kreeg eerst de goede md5's binnen, maar nu niet meer.
 
Heb je enig idee wat MD5 doet/waar MD5 voor bedoeld is? Wat hebben mensen aan de hashes?
 
niet de mensen maar IK krijg die binnen, om te veranderen in de array. heb kleine groep, met bekende gebruikers. simpele oplossing dus.
 
Gebruik dit eens wel alles aanpassen


$hpass2 = $_POST[hpass];
$npass2 = $_POST[npass];
$cnpass2 = $_POST[cnpass];

$hpass2 = md5($hpass);
$npass2 = md5($npass);
$cnpass2 = md5($cnpass);
 
thanks was de oplossing , hij md5e steeds niets, dus wat tussen deze haakjes staat: ""

gr. TjallingK
 
Dan zou dit:

PHP:
$hpass2 = md5($_POST[hpass]);

Ook gewoon moeten werken mits je de door SvU voorgesteld quotes ook opneemt (' ').

En volgens mij bedoelt eeyk hier:

PHP:
$hpass = $_POST[hpass];
$npass = $_POST[npass];
$cnpass = $_POST[cnpass];

$hpass2 = md5($hpass);
$npass2 = md5($npass);
$cnpass2 = md5($cnpass);

En ook daar moeten quotes om de indexen van de $_POST-array.
 
ja inderdaad, er zat een foutje in, maar dat was niet zo groot, en zag ik direct gelukkig. het werkt nu zonder quotes maar ik al ze er neer zetten.
 
Misschien is het "investeren" in een fatsoenlijk webhost een idee :confused:

Je moet nu steeds allerlei onhandige functies en code schrijven alleen omdat je webhost te beperkt is.

Met een database zou je meer dan de helft van je laatst gestelde vragen eenvoudig op kunnen lossen.
 
ja kga d'r zelf ook een beetje over denken. ik heb nu alles draaien, en dat moet het een jaar wel volhouden. Over een jaar begin ik weer met een nieuwe site, dan ga ik daar zo ie zo een server met database voor nemen.

misschien nog wel eerder, als ik een andere nieuwe site ga bouwen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan