Advertisement
Guest User

Untitled

a guest
Mar 30th, 2015
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.37 KB | None | 0 0
  1. <?php
  2.  
  3. session_start();
  4.  
  5. // Récupération des données
  6. $login = (isset($_POST["login"])) ? $_POST["login"] : "";
  7. $pass = (isset($_POST["pass"])) ? $_POST["pass"] : "";
  8. $autologin = (isset($_POST["autologin"])) ? 1 : 0;
  9. $login_cookie = (isset($_COOKIE["login"])) ? $_COOKIE["login"] : "";
  10. $pass_cookie = (isset($_COOKIE["pass"])) ? $_COOKIE["pass"] : "";
  11.  
  12. // Si des données ont été postées on les traite
  13. if (!empty($login) && !empty($pass))
  14. {
  15.  
  16.     // Sécurise le login fourni, que magic_quotes_gpc soit sur on ou off
  17.     if( !get_magic_quotes_gpc() )
  18.     {
  19.         $login = addslashes($login);
  20.     }
  21.  
  22.     require_once("./db.php");
  23.     $db = mysql_connect($serveur, $user, $password) or die('Erreur de connexion');
  24.     mysql_select_db($basename,$db) or die('Base inexistante');
  25.  
  26.     /* On construit et on exécute la requête SQL qui regarde si le login demandé
  27.     existe, et si tel est le cas rappatrie le password associé */
  28.     $sql = "SELECT password FROM tadmin WHERE pseudo='".$login."'";
  29.     $req = mysql_query($sql) or die($sql."<br />".mysql_error());
  30.  
  31.     // Si le login n'existe pas dans la base, on envoie sur une page d'erreur
  32.     if (mysql_num_rows($req) == 0)
  33.     {
  34.         header("Location: ./erreur_login.htm");
  35.         mysql_close();
  36.         return;
  37.     }
  38.     else
  39.     {
  40.         $rep = mysql_fetch_array($req, MYSQL_ASSOC);
  41.     }
  42.  
  43.     // Sinon on compare le pass fourni avec celui de la base
  44.     if (md5($pass) != $rep["password"])
  45.     {
  46.         // Si le pass est mauvais, on redirige vers une page d'erreur
  47.         header("Location: ./erreur_pass.htm");
  48.         mysql_close();
  49.         return;
  50.     }
  51.     else
  52.     {
  53.         /* Si tout est bon, on autorise l'accès en forgeant éventuellement un cookie
  54.         afin de permettre la connexion automatique si l'utilisateur l'a demandé */
  55.         if ($autologin == 1)
  56.         {
  57.             $login = urlencode($login);
  58.             $pass = md5($pass);
  59.             setcookie("login", $login, time()+60*60*24*30);
  60.             setcookie("pass", $pass, time()+60*60*24*30);
  61.         }
  62.         $_SESSION["membre"] = 1;
  63.         header("Location: ./membres/index.php");
  64.         return;
  65.     }
  66.  
  67.     mysql_close();
  68.  
  69. }
  70.  
  71. elseif (!empty($login_cookie) && !empty($pass_cookie))
  72. // Sinon on regarde si les cookies d'authentification sont présents
  73. {
  74.  
  75.     // Sécurise le login fourni, que magic_quotes_gpc soit sur on ou off
  76.     if( !get_magic_quotes_gpc() )
  77.     {
  78.         $login = addslashes($login_cookie);
  79.     }
  80.     else
  81.     {
  82.         $login = $login_cookie;
  83.     }
  84.  
  85.     /* On décode le cookie correspondant au login (pas besoin pour le pass qui est en md5) */
  86.     $login = urldecode($login);
  87.     $pass = $pass_cookie;
  88.  
  89.     require_once("./db.php");
  90.     $db = mysql_connect($serveur, $user, $password) or die('Erreur de connexion');
  91.     mysql_select_db($basename,$db) or die('Base inexistante');
  92.  
  93.     /* On construit et on exécute la requête SQL qui regarde si le login demandé
  94.     existe, et si tel est le cas rappatrie le password associé */
  95.     $sql = "SELECT password FROM tadmin WHERE pseudo='".$login."'";
  96.     $req = mysql_query($sql) or die($sql."<br />".mysql_error());
  97.  
  98.     // Si le login n'existe pas dans la base, on envoie sur une page d'erreur
  99.     if (mysql_num_rows($req) == 0)
  100.     {
  101.         header("Location: ./erreur_login.htm");
  102.         mysql_close();
  103.         return;
  104.     }
  105.     else
  106.     {
  107.         $rep = mysql_fetch_array($req, MYSQL_ASSOC);
  108.     }
  109.  
  110.     // Sinon on compare le pass fourni avec celui de la base
  111.     if ($pass != $rep["password"])
  112.     {
  113.         // Si le pass est mauvais, on redirige vers une page d'erreur
  114.         header("Location: ./erreur_pass.htm");
  115.         mysql_close();
  116.         return;
  117.     }
  118.     else
  119.     {
  120.         // Si tout est bon, on autorise l'accès
  121.         $_SESSION["membre"] = 1;
  122.         header("Location: ./membres/index.php");
  123.         return;
  124.     }
  125.  
  126.     mysql_close();
  127.  
  128. }
  129.  
  130. else
  131. // Sinon on affiche le formulaire d'authentification
  132. {
  133. ?>
  134.  
  135. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  136. <html>
  137. <head>
  138. <title>Authentification</title>
  139. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  140. <script type="text/javascript">
  141. function verif_form() {
  142.     if (document.forms.identification.login.value == '') {
  143.         alert("Veuillez rentrer votre login.");
  144.         return(false);
  145.     } else if (document.forms.identification.pass.value == '') {
  146.         alert("Veuillez rentrer votre mot de passe.");
  147.         return(false);
  148.     } else {
  149.     return(true);
  150.     }
  151. }
  152. </script>
  153. <noscript>
  154. <meta http-equiv="Refresh" content="0; URL=http://hacking.newbiecontest.org:10080/ep14/noscript.htm"; ?>"/>
  155. </noscript>
  156. </head>
  157.  
  158. <body bgcolor="#3377FF">
  159. <div align="left" style="position:absolute ">
  160. <a href="http://www.newbiecontest.org"><img src="logo.png" border="" /></a>
  161. </div>
  162. <br />
  163. <br />
  164. <br />
  165. <br />
  166. <table width="75%" cellpadding="4" cellspacing="1" border="1" align="center">
  167.   <tr>
  168.     <td class="row1"><table border="0" cellpadding="3" cellspacing="1" width="100%">
  169.           <tr>
  170.             <td colspan="2" align="center">
  171.             <br />
  172.             <div align='center'>
  173.             <b><font face="Verdana" size="3" color="#770000"><u>Acc&egrave;s &agrave; l'espace membre</u></font></b>
  174.             <br />
  175.             <br />
  176.             <br />
  177.             <form name="identification" action="index.php" method="post" onSubmit="return verif_form()">
  178.             Login<br />
  179.             <input type="text" name="login" size="16"><br /><br />
  180.             Mot de passe<br />
  181.             <input type="text" name="pass" size="16"><br /><br />
  182.             Connexion automatique <input name="autologin" type="checkbox" value="1"><br /><br /><br />
  183.             <input type="submit" value="Connexion">
  184.             </form>
  185.             </div>
  186.             <br />
  187.             </td>
  188.           </tr>
  189.     </td>
  190.  </tr>
  191. </table>
  192. </body>
  193. </html>
  194.  
  195. <?php
  196. }
  197.  
  198. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement