hallo iedereen
ik heb een ledensysteem
mijn leden kunnen zich registreren en hun wachtwoord word dan zoon beveiligt wachtwoord.
ik zoek een scriptje dat je een username in kan vullen en dat dan het wachtwoord van die username gestuurt word naar het adres dat in de mysql database staat en bij die user hoort.

over prijs is te spreken.
Als het wachtwoord is gecodeerd met md5() zal je een nieuw password moeten genereren.
@ SanThe : Helder en dit is inderdaad bij mij ook aan de hand.
Wat ik graag zou willen is het standaard werk dus men is al lid en heeft een md5 gecodeerd wachtwoord en tja... men is het wachtwoord vergeten.

Ik zie dan bij sites dat je op een link klikt en je dan een nieuw wachtwoord toegemailt krijgt.
Hoe pak ik dit aan?

Dit:
<?php
// de variabelen die ik gebruik
$strWebsite = "www.lissydesign.info"; // website van listeigenaar
$strEmailSite = "[email protected]"; // email adres van listeigenaar
$strNaamSite = "LissyDesign"; // website naam
$fEdit = true;
$Active = 0; //0 is niet actief , 1 is geactiveerd

//$regDate = date("-m-d H:i:s"); //met G krijg je 0 t/m 23 uur en met H krijg je 00 t/m 23 uur.
$regDate = date("Y-m-d G-i-s");
$ip = $_SERVER['REMOTE_ADDR'];

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['radSex'])) { $regValues['Sex'] = $_POST['radSex']; }
if(isset($_POST['txtLoginnameR'])) { $regValues['Loginname'] = $_POST['txtLoginnameR']; }
if(isset($_POST['txtPassword'])) { $regValues['Password'] = $_POST['txtPassword']; }
if(isset($_POST['txtPassword2'])) { $regValues['Password2'] = $_POST['txtPassword2']; }
if(isset($_POST['txtEmail'])) { $regValues['Email'] = $_POST['txtEmail']; }
if(isset($_POST['txtDoB'])) { $regValues['DoB'] = $_POST['txtDoB']; }

$regValues['Loginname'] = trim($regValues['Loginname']);
$regValues['Password'] = trim($regValues['Password']);
$regValues['Password2'] = trim($regValues['Password2']);
$regValues['Loginname'] = trim($regValues['Loginname']);
$regValues['Email'] = trim($regValues['Email']);
$regValues['DoB'] = trim($regValues['DoB']);

$strError = CheckForm($regValues); $fEdit = true;
if($strError == "")
// maak code aan.
{ $strUserCode = GenerateUserCode();
$fEdit = false;
$Active = 0;
//kan je natuurlijk nog velden bij maken!!
$strSQL ="Insert Into users (Sex, Loginname, Password, Email, DoB, UserCode, UserActive, regDate, ip) ";
$strSQL .="Values ('".$regValues['Sex']."','".$regValues['Loginname']."','".md5($regValues['Password'])."','".$regValues['Email']."','".$regValues['DoB']."','".$strUserCode."','".$Active."','".$regDate."','".$ip."')";
mysql_query($strSQL);

// handige functie in myssql.
// na insert meteen het id in een variabele stoppen en daar kunnen we meteen mee gaan werken
$iUsersID = mysql_insert_id();

// nu als alles in de database staat gaan we een mail versturen!!
// deze kan je natuurlijk helemaal zelf aanpassen!!
// LET OP: Je moet wel even de url veranderen wat naar de pagina activeren gaat!!!!
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: \"" . $strWebsite . "\" <" . $strEmailSite . ">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: php\n";

$strSubject = "activatiemail voor aanmelden Lissy Design";
$strLog = $regValues['Loginname'];
//$strMessage = "<a href=http://www.jousite.nl/bepaalde-map-misschien/activeren.php?Type=activeren&I=$iUsersID&L=$strLog&C=$strUserCode>AANMELDEN LISSY</a>";
$strMessage = "Je account is NIET actief.<br>Je kan het account activeren door op onderstaande link te klikken:<br><br>Je account is aangemaakt met de volgende gegevens:<br><br><a href='http://www.lissydesign.info/registreren/activeren.php?Type=activeren&I=$iUsersID&L=$strLog&C=$strUserCode'>; >>klik HIER voor AANMELDEN LISSY DESIGN forum<< </a><br><br><br>Vergeet je wachtwoord niet!<br>Het wachtwoord is gecodeerd opgeslagen en kan dus nooit meer worden opgehaald.<br>Mocht je je wachtwoord toch vergeten dan kan je eventueel een nieuwe wachtwoord aanvragen via een mail op de site.<br><br>Bedankt voor je registratie!<br>LissyDesign";
$strError = mail($regValues['Email'], $strSubject, $strMessage, $headers);
// als de email succesvol is verstuurd !! dat is standaard 1 in php
if($strError == 1)
{ $strError = "U bent succesvol aangemeld, <br>er is een activatie link naar u email gestuurd om uw account te activeren";
}else
{ $strError = "de mail kon niet worden verzonden, neem contact op me de admin"; }
}
}
?>

Gebruik ik dus voor als iemand zich aanmeld.
In de Database staat actief dus op 1.
bedankt lissy maar ik snap daar nix van.
ik ben nog niet echt goed.
heb je ook een simpeler script of een scripts met comment regels erbij om het beter te begrijpen ik ben nog beginner weet je

groetjes gerard
SanThe schreef op 18.10.2005 15:48
Als het wachtwoord is gecodeerd met md5() zal je een nieuw password moeten genereren.


Dat is niet helemaal waar... Er zijn brute force programma's die de md5-encryptie weer omzetten. Het script hieronder heb ik van en kan teksten decoderen. Je kan proberen het gecodeerde wachtwoord terug te coderen, maar als degene van wie het wachtwoord was cijfers of andere tekens heeft gebruikt zal het niet werken.

<?
$hash = "1a1dc91c907325c69271ddf0c944bc72";
$char[1] = "a";
$char[2] = "b";
$char[3] = "c";
$char[4] = "d";
$char[5] = "e";
$char[6] = "f";
$char[7] = "g";
$char[8] = "h";
$char[9] = "i";
$char[10] = "j";
$char[11] = "k";
$char[12] = "l";
$char[13] = "m";
$char[14] = "n";
$char[15] = "o";
$char[16] = "p";
$char[17] = "q";
$char[18] = "r";
$char[19] = "s";
$char[20] = "t";
$char[21] = "u";
$char[22] = "v";
$char[23] = "w";
$char[24] = "x";
$char[25] = "y";
$char[26] = "z";
$char[27] = "0";
$char[28] = "1";
$char[29] = "2";
$char[30] = "3";
$char[31] = "4";
$char[32] = "5";
$char[33] = "6";
$char[34] = "7";
$char[35] = "8";
$char[36] = "9";
$top = count($char);
for ($d = 0; $d <= $top; $d++)
{
$ad = $ae.$char[$d];
for ($c = 0; $c <= $top; $c++) /// Enzo voorts. voor 4 karakters duurt het 4 min. voor 5 duurt het 12 min. voor 6 weet ik niet en voor 8 langer dan 8 uur.
{
$ac = $ad.$char[$c];
for ($b = 0; $b <= $top; $b++)
{
$ab = $ac.$char[$b];
for ($a = 0; $a <= $top; $a++)
{
$aa = $ab.$char[$a];
if(md5($aa)==$hash)
{
die('Wachtwoord: '.$aa);
}
}
}
}
}
echo "Geen Resultaat";
?>


SELECT Name, Email FROM gebruikers WHERE Name='$name';

Dan heb je het Emailadres van iemand die behoord tot de ingevulde naam.

Vervolgens pak je de random wachtwoordgenerator die laat je een wachtwoord uitpoepen dat md5 je, vervolgens word het een

UPDATE gebruikers SET Password='$gegenereerdewachtwoord' WHERE Name='$name';

Dan heeft die gebruiker een nieuw vers wachtwoord. Vervolgens mail je naar dat mailadres het nieuwe wachtwoord en klaar ben je.

Programmeerwerk: 5 minuten als je het goed doet.

Voor mensen die mijn nieuwssysteem gebruiker, dat hele aanmeldsysteem zit er in princiepe standaard in als functies, ipv in het admin systeem kan je het dus ook buiten dat systeem mensen zichzelf laten aanmelden (bijv. als gebruiker ipv admin ;)). Het hele wachtwoord generatie en emailsysteem zit er ook als functie in verwerkt :).

@ Jip
dat het is wel mogelijk maar kost wel aardig wat tijd
het duizeld bij mij een beetjuh en iedereen heeft wel cijfers in ze wachtwoord
kan iemand me een
sorry me com crashte
ff me sin afmaken

kan iemand een scriptjuh maken die het gewoon doet op alles ofzo en die ik er zo in kan zetten

alvast bedankt
Om het te laten werken moet iemand natuurlijk wel weten wat jij opslaat in de database, welke benamingen etc. Verder is het ook wel makkelijk om te weten op welke manier gegevens worden aangeleverd enzo.

Het is niet zo dat iemand zonder informatie een standaard scriptje kan maken wat universieel werkbaar zou moeten zijn :P.
:P sorry daarvoor ik snap niej echt wat je bedoelt maar hier is me sql tabel als je dat bedoelt

CREATE TABLE `members` (
`id` int(10) NOT NULL auto_increment,
`nickname` varchar(25) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`registerd` int(10) NOT NULL default '0',
`key` varchar(32) NOT NULL default '0',
`referer` varchar(255) NOT NULL default '',
`lastlogin` int(10) NOT NULL default '0',
`lastaction` int(10) NOT NULL default '0',
`class` int(2) NOT NULL default '1',
`sub_class` int(2) NOT NULL default '1',
`ip` varchar(15) NOT NULL default '0',
`lokatie` int(3) NOT NULL default '1',
`land` int(10) NOT NULL default '0',
`jail` int(10) NOT NULL default '0',
`lasttravel` int(10) NOT NULL default '0',
`points` int(10) NOT NULL default '0',
`geld` bigint(255) NOT NULL default '0',
`bank` bigint(255) NOT NULL default '0',
`kluis` bigint(255) NOT NULL default '0',
`lastrente` int(10) NOT NULL default '0',
`laststort` int(10) NOT NULL default '0',
`lastcrime` int(10) NOT NULL default '0',
`lastcrimeautos` int(10) NOT NULL default '0',
`lastbuybullet` int(10) NOT NULL default '0',
`bullets` bigint(255) NOT NULL default '0',
`health` int(3) NOT NULL default '100',
`text` text NOT NULL,
`family` text NOT NULL,
`familylogo` text NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `nickname` (`nickname`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;

bedoel je dat?

Reageren