ik ben al een tijdje opzoek naar een login systeem maar heb geen goeie kunnen vinden. er zitten altijd fouten in. weet mischien iemand een link naar een tutorial voor een goeie werkende login systeem
alvast bedankt
alvast bedankt
| Code: |
| <script type="text/javascript">
<!--// function pasuser(form) { if (form.id.value=="GEBRUIKERSNAAM") { if (form.pass.value=="WACHTWOORD") { location="LINK WAAR HET MOET WORDEN DOORGELINKT" } else { alert("Verkeerd wachtwoord") } } else { alert("Verkeerde Gebruikersnaam") } } //--> </script> <table cellpadding="12" border="0"> <tr><td align="right">Gebruikersnaam :</td><td><form name="login"><input name="id" type="text"></td></tr> <tr><td align="right" height="63">Wachtwoord :</td><td height="63"><input name="pass" type="password"></td></tr> <tr><td><center><input type="button" value="Login" onClick="pasuser(this.form)"></td><td><center><input type="Reset"></form></td></tr></table> |
| polopolo wrote: | ||
| Plaats de Code in de <body>
Hier een code:
Er was ook een tool dat je deze code kunt wijzigen zodat kwaadwillende niet de code kan zien. Maar ik ben die code kwijt herlaas. |
| Code: |
| <?php
session_start(); /* Loginsysteem, nomysql 1.0 Auteur: David Wouts Dit script is een loginscript (geen profielsysteem!) met registreren, inloggen, uitloggen, wachtwoord vergeten, beveiligde pagina, MD5. Op dit script staat Copyright (C) by David Wouts. De maker is niet aansprakelijk voor de gevolgen van het gebruiken van dit script. De code van dit script mag op geen enkele wijze worden neergezet op een andere website dan www.phpfreakz.nl zonder schriftelijk verkregen permissie van de auteur. Je kan een beveiligde pagina maken door middel van: <?php session_start(); if (!isset ($_SESSION['gebruiker'])) { echo 'Je moet eerst inloggen.'; } else { ?> <!-- hier de rest van je HTML pagina en overige scripts --> <?php } ?> */ $iMaxUserCount = 0; // Het maximale aantal gebruikers, 0 is onbeperkt. $bCodeerPassword = true; // Codeer het password, ja of nee? $bBewerkWachtwoord = true; // Mag de gebruiker zijn wachtwoord veranderen? $bShowCopyright = true; // laat copyright zien, ja of nee.. $sEmailFromAdress = 'webmaster@jesite.nl'; // Waar komt de e-mail vandaan die wordt verstuurd? $sLink = 'http://'.$_SERVER['HTTP_HOST']. $_SERVER['PHP_SELF'].'?page=new_pass&gebruiker='.$_POST['gebruiker']. '&new_pass='.$sPassword.'&email='.$_POST['email']; function refresh ($sLocation, $sMessage, $iSeconds = 2) { echo $sMessage.' <meta http-equiv="Refresh" content="'.$iSeconds.'; url='.$sLocation.'">'; } if (!isset ($_GET['page'])) { $_GET['page'] = 'home'; } if ($_GET['page'] == 'index') { $_GET['page'] = 'home'; } if (strstr ($_GET['page'], 'http://')) { $_GET['page'] = 'home'; } if (!file_exists($_GET['page'].'.php')) { $_GET['page'] = '404'; } ?> <html> <head> <title>Loginsysteem nomysql 1.0</title> <style> BODY { background-color: #FFFFFF; color: #000000; } a { color: #0010AD; text-decoration: none; } a:hover { color: maroon; text-decoration: underline; } </style> </head> <body> <table border='0'> <tr><td style='border-color: #000000; border-style: solid; border-width: 1px'><?php include 'menu.php'; ?></td></tr> <tr><td style='border-color: #000000; border-style: solid; border-width: 1px'> <?php include $_GET['page'].'.php'; ?> </td></tr> </table><hr> <?php if ($bShowCopyright) { echo '<small>Made by David Wouts</small>'; } ?> </body> </html> 404.php <h3>Pagina is niet gevonden</h3> gebruikers.php Leeg laten en chmodden naar 644 register.php <?php if (isset ($_SESSION['gebruiker'])) { refresh ('Je bent al ingelogd dus je kan niet aanmelden', '?page=home', 1); } else { if ($_SERVER['REQUEST_METHOD'] == 'POST') { $_POST['gebruiker'] = str_replace ('@', '', $_POST['gebruiker']); if ($_POST['gebruiker'] == '') { echo 'Je hebt je gebruikersnaam niet ingevuld! <a href="?page=register">Ga terug</a>'; } elseif ($_POST['password'] == '') { echo 'Je hebt je wachtwoord niet ingevuld! <a href="?page=register">Ga terug</a>'; } elseif ($_POST['email'] == '') { echo 'Je hebt je email adres niet ingevuld! <a href="?page=register">Ga terug</a>'; } elseif (!ereg ('[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+', $_POST['email'])) { echo 'Je hebt je email adres niet goed ingevuld! <a href="?page=register">Ga terug</a>'; } else { if (strstr (file_get_contents ('gebruikers.php'), $_POST['gebruiker'].'|')) { echo 'Deze gebruikersnaam is al in gebruik! <a href="?page=register">Ga terug</a>'; } else { if (strstr (file_get_contents ('gebruikers.php'), $_POST['email'])) { echo 'Dit email adres is al in gebruik! <a href="?page=register">Ga terug</a>'; } else { if (strstr (file_get_contents ('gebruikers.php'), md5 ($_POST['password']))) { echo 'Dit wachtwoord is te makkelijk te raden. <a href="?page=register">Ga terug</a>'; } else { if (strstr ($_POST['gebruiker'], '|') || strstr ($_POST['gebruiker'], '.')) { echo 'Er zitten een of meer verkeerde tekens in je gebruikersnaam. <a href="?page=register">Ga terug</a>'; die; } else { $rOpenFile = fopen ('gebruikers.php', 'a'); fputs ($rOpenFile, $_POST['gebruiker'].'|'.md5 ($_POST['password']).'|'.$_POST['email']."\n"); fclose ($rOpenFile); } } } echo 'Je bent aangemeld en kunt nu inloggen'; } } } else { ?> <form method='post' action='?page=register'> <table border='0'> <tr><td><h3>Aanmelden</h3></td></tr> <tr><td>Gebruikersnaam:</td><td><input type='text' name='gebruiker' size='30' maxlength='40'></td></tr> <tr><td>Wachtwoord:</td><td><input type='password' name='password' size='30' maxlength='40'></td></tr> <tr><td>Email adres:</td><td><input type='text' name='email' size='30' maxlength='40'></td></tr> <tr><td><input type='submit' value='Aanmelden'></td></tr> </table> </form> <?php } } ?> delete.php <?php if (!isset ($_SESSION['gebruiker'])) { refresh ('?page=home', '', 0); } else { $sGetUserList = file_get_contents ('gebruikers.php'); $sGetUserList = preg_replace ( '('.$_SESSION['gebruiker'].'\|(.+?)\|((.+?)\@(.+?)\.(.+))', '', $sGetUserList); $rOpenFile = fopen ('gebruikers.php', 'w'); fputs ($rOpenFile, $sGetUserList); fclose ($rOpenFile); unset ($_SESSION ['gebruiker']); refresh ('?page=home', '', 0); } ?> home.php <?php if (isset ($_SESSION['gebruiker'])) { echo 'Je bent <b>ingelogd</b>.',"\n"; } elseif (!isset ($_SESSION['gebruiker'])) { echo 'Je bent <b>niet</b> ingelogd.',"\n"; } echo '<br><br>',"\n"; for ($i = 0; $i < 25; $i ++) { echo 'Dit is een vultekst. Dit is een vultekst. Dit is een vultekst. Dit is een vultekst.<br>',"\n"; } ?> logout.php <?php if (isset ($_SESSION['gebruiker'])) { unset ($_SESSION['gebruiker']); refresh ('?page=home', 'Je bent nu netjes uitgelogd.', 2); } else { refresh ('?page=home', '', 0); } ?> menu.php <?php if (!isset ($_SESSION['gebruiker'])) { ?> <a href="?page=home">Home</a> - <a href="?page=login">Inloggen</a> - <a href="?page=register">Aanmelden</a> - <a href="?page=pass"> Wachtwoord vergeten?</a> <?php } elseif (isset ($_SESSION['gebruiker']) && $_SESSION['gebruiker'] != $sAdministratorUsername) { ?> <a href="?page=home">Home</a> - <a href="?page=logout">Uitloggen</a> - <a href="?page=update">Bewerk gegevens</a> - <a href="?page=delete"> Verwijder account</a> <?php } else { ?> <a href="?page=home">Home</a> - <a href="?page=logout">Uitloggen</a> - <a href="?page=show_gebruikers">Bekijk gebruikerslijst</a> - <a href="?page=update_gebruikers">Bewerk gebruikerslijst</a> <?php } ?> pass.php <?php $aTekens = array ('a', 'b', 'c', 'd', 'e', 'F', 'G', 'H', 'i', 'J', 'K', 'l', 'M', 'N', 'o', 'P', 'Q', 'R', 's', 't', 'U', 'V', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9'); $iLengte = rand (15, 30); $sPassword = ''; for ($i = 0; $i <= $iLengte; $i ++) { $sPassword .= $aTekens[ rand(0, count ($aTekens) - 1)]; } if (isset ($_SESSION['gebruiker'])) { refresh ('?page=home', '', 0); } else { if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($_POST['gebruiker'] == '') { echo 'Je hebt je gebruikersnaam niet ingevuld! <a href="?page=pass">Ga terug</a>'; } elseif (!ereg ('[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+', $_POST['email'])) { echo 'Je hebt je email adres niet goed ingevuld! <a href="?page=register">Ga terug</a>'; } else { if (preg_match ('('.$_POST['gebruiker'].'\|(.+?)\|(.+?)@(.+?)\.(.+?))')) { $sOnderwerp = 'Je vergeten wachtwoord'; $sBericht = ' Hallo '.$_POST['gebruiker'].', op '.date ('H:i:s d-m-Y').' is op onze site aangegeven dat je je wachtwoord kwijt bent. Klopt dit niet, dan kan je deze e-mail het beste negeren. Als je op de volgende link klikt: '.$sLink.' wordt je wachtwoord veranderd in het wachtwoord dat daar staat. Dan kan je gewoon inloggen. Met vriendelijke groeten, Het beheer'; if (mail ($_POST['email'], $sOnderwerp, $sBericht, 'From: Login systeem <'.$sEmailFromAdress.'>')) { echo 'Je wachtwoord is verstuurd'; } else { echo 'We konden je wachtwoord niet versturen, onze excuses voor het ongemak.'; } } else { ?> Deze gebruikersnaam komt niet voor in de gebruikerslijst. <a href='?page=pass'>Ga terug</a> <?php } } } else { ?> <form method='post' action='?page=pass'> <table border='0'> <tr><td>Gebruikersnaam:</td><td><input type='text' name='gebruiker' size='40' maxlength='40'></td></tr> <tr><td>E-mailadres:</td><td><input type='text' name='email' size='40' maxlength='40'></td></tr> <tr><td><input type='submit' value='E-mail me mijn wachtwoord' ondblclick='alert ("Klik a.u.b slechts één maal op de knop")'></td></tr> </table> </form> <?php } } ?> login.php <?php if (isset ($_SESSION['gebruiker'])) { refresh ('?page=home', 'Je bent al ingelogd, je moet eerst uitloggen!', 2); } else { if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($_POST['gebruiker'] == '') { echo 'Je hebt je gebruikersnaam niet ingevuld! <a href="?page=login">Ga terug</a>'; } elseif ($_POST['password'] == '') { echo 'Je hebt je wachtwoord niet ingevuld! <a href="?page=login">Ga terug</a>'; } else { if (strstr (file_get_contents ('gebruikers.php'), $_POST['gebruiker'].'|'.md5 ($_POST['password']).'|')) { $_SESSION['gebruiker'] = $_POST['gebruiker']; refresh ('?page=home', 'Je bent ingelogd. Je wordt doorgestuurd naar de indexpagina', 2); } else { refresh ('?page=login', 'Je bent niet ingelogd want je hebt verkeerde login informatie opgegeven.', 2); } } } else { ?> <form method='post' action='?page=login'> <table border='0'> <tr><td>Gebruikersnaam:</td><td><input type='text' name='gebruiker' size='40' maxlength='40'></td></tr> <tr><td>Wachtwoord:</td><td><input type='password' name='password' size='40' maxlength='40'></td></tr> <tr><td><input type='submit' value='Inloggen'></td></tr> </table> </form> <?php } } ?> update.php <?php error_reporting (E_ALL); if (!isset ($_SESSION['gebruiker'])) { refresh ('?page=home', '', 0); } else { if ($_SERVER['REQUEST_METHOD'] == 'POST') { $sGetUserList = file_get_contents ('gebruikers.php'); $sGetUserList = preg_replace ('('.$_SESSION['gebruiker'].'\|(.+?)\|((.+?)\@(.+?)\.(nl|com|net|info|de|fr|co\.uk|be|tk|dk)))', $_SESSION['gebruiker'].'|'.md5 ($_POST['pass']).'|'.$_POST['email'].'', $sGetUserList); $rOpenFile = fopen ('gebruikers.php', 'w'); fputs ($rOpenFile, $sGetUserList); fclose ($rOpenFile); echo 'Gegevens zijn aangepast.'; } else { ?> <form method='post' action='?page=update'> <table border='0'> <tr><td>Wachtwoord:</td><td><input type='password' name='pass' size='40' maxlength='40'></td></tr> <tr><td>Email:</td><td><input type='text' name='email' size='40' maxlength='40'></td></tr> <tr><td><input type='submit' value='Verzenden'></td></tr> </table> </form> <?php } } ?> new_pass.php <?php error_reporting (E_ALL); if (!isset ($_GET['gebruiker'])) { echo '#0026 Incorrecte aanroep van query'; } elseif (!isset ($_GET['new_pass'])) { echo '#0026 Incorrecte aanroep van query'; } else { if (!preg_match ('/'.$_GET['gebruiker'].'\|(.+?)\|/', file_get_contents ('gebruikers.php'))) { echo 'Deze gebruiker bestaat niet.'; } else { $sTmpContents = file_get_contents ('gebruikers.php'); $sContents = preg_replace (' ('.$_GET['gebruiker'].'\|(.+?)\|((.+?)\@(.+?)\.(.+)))', '', $sTmpContents); if ($sContents == $sTmpContents) { echo '#2762 De Regex werkt niet, send een email naar de system admin'; } else { $sContents .= $_GET['gebruiker'].'|'.md5 ($_GET['new_pass']).'|'.$_GET['email'] ."\n"; if (!$rOpenFile = fopen ('gebruikers.php', 'r+')) { echo '#4523 Kon niet naar bestand schrijven'; } else { fputs ($rOpenFile, $sContents); fclose ($rOpenFile); echo 'Je password is gewijzigd. Klik <a href="javascript:document.getElementById (\'pass\').innerHTML = \'<b> '.$_GET['new_pass'].'</b>\'; void(0)"> hier</a> om je wachtwoord te zien.<p><div id="pass"></div>'; } } } } ?> |