login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Beveiliging > Inlog script

Inlog script

Auteur: GTW - 20 januari 2006 - 12:31 - Gekeurd door: Ibrahim - Hits: 36893 - Aantal punten: 3.88 (16 stemmen)




Uitleg:
Dit script geeft een login weer voor meerdere personen.

Login gegevens:
De standaard loginnamen zijn:
-admin (full rights)
-gtw (mod rights)
-joël (user rights)
Het standaard ww: test

Deze zijn te wijzigen in config.php

Het wachtwoord is in md5 gecodeerd, dus je wachtwoord zal niet zomaar los en open in je script staan.
Op de volgende site kun je een md5 wachtwoord creëren: http://webmaster.mybesthost.com/md5/Untitled-3.php

Mappenstructuur:
./index.php
./config.php
./loggedin/index.php
./loggedin/auth.php
./loggedin/logout.php
./loggedin/testpagina.php

Let op!
loggedin/testpagina.php en loggedin/index.php zijn niet noodzakelijk voor de werking van het script. Deze laten zien dat je ingelogd blijft en hoe het script werkt.

Gebruikers:
In config.php kun je de gebruikers instellen. Elke gebruiker heeft 3 eigenschappen namelijk:
-Naam (name)
-Wachtwoord (pass)
-Rechten (type)

Rechten:
0 = gewone user
1 = moderator
2 = administrator

Deze rechten komen te pas bij de functie checkAuth([int]). Het getal dat je daar invoert moet het minimale recht zijn dat die gebruiker moet hebben.

Code:
index.php
  1. <?php
  2. include "config.php";
  3. ?>
  4. <html>
  5.  
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  8. <title>Login</title>
  9. </head>
  10.  
  11. <body>
  12. <div align="center">
  13. <?php
  14. if($_SERVER['REQUEST_METHOD']=="POST"){
  15. # Er is ingelogd, controleer alles
  16. $naam = $_POST['usrnaam'];
  17. $pass = md5(trim($_POST['adminpassw']));
  18.  
  19. foreach( $admin as $adm => $admkey ){
  20. if($naam == $admkey['name']
  21. && $pass == $admkey['pass']){
  22. # Alles klopt, zet de sessies goed en login
  23. $_SESSION['loggedin'] = $naam;
  24. $_SESSION['loggedinnr'] = $adm;
  25. $_SESSION['loggedintype'] = $admkey['type'];
  26. header("location: loggedin/index.php");
  27. exit();
  28. }
  29. }
  30. # De login en/of pass was/waren niet correct
  31. echo '<b><font color="red">Dit is niet correct</font></b>';
  32. }
  33. # Indien er al ingelogd is wordt de gebruiker doorgestuurd
  34. if(isset($_SESSION['loggedin'])
  35. && $_SESSION['loggedin'] == $admin[$_SESSION['loggedinnr']]['name']){
  36. header("location: loggedin/");
  37. exit();
  38. }
  39. ?>
  40. <table border="1" width="30%" bordercolor="#FF9933" bgcolor="#FF9933">
  41. <tr>
  42. <td>
  43. <p align="center"><b>Welkom op de admin site<br />
  44. &nbsp;</b></td>
  45. </tr>
  46. <tr>
  47. <td>
  48. <form action="" method="post">
  49. <p align="center"><b>Username: <br />
  50. </b> <input type="text" name="usrnaam"><br><br />
  51. <b>Password: <br></b> <input type="password" name="adminpassw"><br /><br />
  52. <input type="submit" value="Login"><br />
  53. </form>
  54. </td>
  55. </tr>
  56. </table>
  57. </div>
  58. </body>
  59.  
  60. </html>


config.php
  1. <?php
  2. $admin[0]['name'] = "admin";
  3. $admin[0]['pass'] = "098f6bcd4621d373cade4e832627b4f6"; ### een md5 gecodeerd wachtwoord
  4. $admin[0]['type'] = 2;
  5. $admin[1]['name'] = "gtw";
  6. $admin[1]['pass'] = "098f6bcd4621d373cade4e832627b4f6";
  7. $admin[1]['type'] = 1;
  8. $admin[2]['name'] = "joël";
  9. $admin[2]['pass'] = "098f6bcd4621d373cade4e832627b4f6";
  10. $admin[2]['type'] = 0;
  11.  
  12. /*
  13. Rechten:
  14. 0 = gewone user
  15. 1 = moderator
  16. 2 = administrator
  17. */
  18. ?>


loggedin/index.php
  1. <?php
  2. /* Deze 3 regels zijn het enige vereiste om te controleren of er is ingelogd */
  3. include("auth.php");
  4. checkAuth();
  5. /* Tot hier dus ;-) */
  6. ?>
  7.  
  8. <html>
  9.  
  10. <head>
  11. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  12. <title>Administratie || Home</title>
  13. </head>
  14.  
  15. <body>
  16.  
  17. <table border="0" width="100%" height="100%" bgcolor="#FF9900">
  18. <tr>
  19. <td height="98">&nbsp;</td>
  20. <td height="98" align="center" width="50%"><a href="logout.php">logout [<?php echo $_SESSION['loggedin'] ?>]</a></td>
  21. </tr>
  22. <tr>
  23. <td><a href="testpagina.php">Klik hier om naar<br />de testpagina te gaan</a></td>
  24. <td>&nbsp;</td>
  25. </tr>
  26. </table>
  27.  
  28. </body>
  29.  
  30. </html>


loggedin/auth.php
  1. <?
  2. include "../config.php";
  3. if(!isset($_SESSION['loggedin']) ||
  4. $_SESSION['loggedin'] != $admin[$_SESSION['loggedinnr']]['name']){
  5. header("location: logout.php");
  6. exit();
  7. }
  8. function checkAuth($type=0){
  9. if(is_numeric($type)){
  10. if($_SESSION['loggedintype'] < $type){
  11. echo '<div style="color:red; text-align:center;">Deze pagina is niet voor jou ogen bestemd<br />';
  12. echo '<a href="'.$_SERVER['HTTP_REFERER'].'">Klik hier om terug te gaan</a></div>';
  13. exit();
  14. }
  15. }
  16. }
  17. ?>


loggedin/logout.php
  1. <?php
  2. unset($_SESSION['loggedin']);
  3. unset($_SESSION['loggedinnr']);
  4. unset($_SESSION['loggedintype']);
  5. header("location: ../index.php");
  6. exit();
  7. ?>


loggedin/testpagina.php
  1. <?php
  2. /* Deze 3 regels zijn het enige vereiste om te controleren of er is ingelogd */
  3. include("auth.php");
  4. checkAuth(2);
  5. /* Tot hier dus ;-) */
  6. ?>
  7.  
  8. <html>
  9.  
  10. <head>
  11. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  12. <title>Administratie || Test pagina</title>
  13. </head>
  14.  
  15. <body>
  16.  
  17. <table border="0" width="100%" height="100%" bgcolor="#FF9900">
  18. <tr>
  19. <td height="98">&nbsp;</td>
  20. <td height="98" align=center width="50%"><font color=green><b><?php echo "Welkom ".$_SESSION['loggedin']?></b></font><br />
  21. <a href="logout.php">logout</a></td>
  22. </tr>
  23. <tr>
  24. <td><a href=index.php>Terug naar Home</a></td>
  25. <td>&nbsp;</td>
  26. </tr>
  27. </table>
  28.  
  29. </body>
  30.  
  31. </html>
Download code! Download code (.txt)

Download dit script! Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (58)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.101s