Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2011, 23:10
publidom
 
Fecha de Ingreso: abril-2011
Mensajes: 12
Antigüedad: 13 años, 1 mes
Puntos: 0
requiero una mano con esto que me esta volviendo loco

Saludos muy buenas este script lo que hace es autentificar usuarios para las paginas desde donde se llame al script. estas paginas pues pediran un login.

El asunto es que logre que el script tuviera varios passwords asignados para sistintos usuarios.

hasta ahi vamos bien:

el script original solo permite un password y yo queria ponerle varios para poder dar un password a cada usuario en particular, si alguien se porta mal pues simplemente borro su password del script y listo, como estaba el original si alguien se portaba mal tenia que cambiar el password y entonces notificar a todos los usuarios, vaya trabajo.

El script crea una cookie con un tiempo especificado en segundos, cuando este tiempo acaba pues si el usuario trata de visitar una pagina protegida le vuelve a pedir login.

En el original esto del tiempo de cookie estaba PERFECTO pero con un solo password, ahora tengo varios passwords perfectamente pero el tiempo de cookie solo dura 1 segundo aunque le tengo especificado 3600 segundos.

Aqui esta el script con varios passwords y el tiempo de cookies jodido por favor yo no se como arreglar esto si alguien puede corregirmelo yo y mi familia estaremos eternamente agradecidos por los siglos de los siglos aun estemos en el cielo o lo contrario.

Código PHP:
Ver original
  1. <?php
  2.  
  3. /* Config Section */
  4.  
  5. $pass = array('123', 'marvinx15', 'jtomasx15', 'hendy', 'shary');               // Set the password.
  6. $cookiename = 'sascookie';              // Optional change: Give the cookie a name. Default is sascookie
  7. $expirytime = time()+3600;              // Optional change: Set an expiry time for the password (in seconds). Default is 1 hour.
  8. $msg        = 'Password Incorrecto';    // Optional change: Error message displayed when password is incorrect. Default is "Password incorrect".
  9.  
  10. /* End Config */
  11.  
  12. /* Logout Stuff - Sept 5, 2005 */
  13.  
  14. if (isset($_REQUEST['logout'])) {
  15.     setcookie($cookiename,'',time() - 3600);                            // remove cookie/password
  16.     if (substr($_SERVER['REQUEST_URI'],-12)=='?logout=true') {          // if there is '?logout=true' in the URL
  17.         $url=str_replace('?logout=true','',$_SERVER['REQUEST_URI']);    // remove the string '?logout=true' from the URL
  18.         header('Location: '.$url);                                      // redirect the browser to original URL
  19.     }
  20.     show_login_page('');
  21.     exit();
  22. }
  23.  
  24. $logout_button='<form action="'.$_SERVER['REQUEST_URI'].'" method="post"><input type="submit" name="logout" value="Logout" /></form>';
  25. $logout_text='<a href="'.$_SERVER['REQUEST_URI'].'?logout=true">Logout</a>';
  26.  
  27. /* End Logout Stuff */
  28.  
  29. /* FUNCTIONS */
  30. $encrypt_pass = array();
  31. $submitted_pass = '';
  32. foreach($pass as $password)
  33. {
  34.     $encrypt_pass[] = (md5($password)); // encrypt password
  35. }
  36.  
  37.  
  38. function setmycookie() {
  39. global $cookiename,$encrypt_pass,$expirytime, $submitted_pass;
  40.     setcookie($cookiename,$submitted_pass,$expirytime);
  41. }  
  42.  
  43. function show_login_page($msg) {
  44. ?>
  45. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  46. <html xmlns="http://www.w3.org/1999/xhtml">
  47. <head>
  48. <title>Authorization Required</title>
  49. <style type="text/css">
  50. <!--
  51. .error {color:#A80000}
  52. body {font:90% Verdana, Arial, sans-serif;color:#404040}
  53. #wrapper {width:800px;margin:0 auto;border:1px solid #606060}
  54. #main {text-align:center;padding:15px}
  55. #header {font:bold 130% Verdana, Arial, sans-serif;color:#DDDDDD;width:100%;height:5em;text-align:center;background:#A80000;line-height:5em}
  56. #mid {margin:5em 0 5em 0}
  57. #footer {font-size:75%;text-align:center;width:100%}
  58. input {border:1px solid #606060; background: #DDDDDD}
  59. -->
  60. </style>
  61. </head>
  62. <body bgcolor="#000000">
  63. <div id="wrapper">
  64.     <div id="header"><font color="#FFFFFF">Autorizacion Requerida</font></div>
  65. <div id="main">
  66.     <div id="mid">
  67.        
  68.         <form action="" method="POST">
  69.             <b><font face="Lucida Sans" size="6"><font color="#CC3300">PD</font><font color="#FFFFFF">Jupiter.info
  70.         | Canales Premium en Vivo<br>
  71.             <br>
  72.             </font></font><font face="Lucida Sans" size="3" color="#FFFF00">Su
  73.             sesión ha sido terminada por inactividad, favor ingrese su password
  74.             nuevamente.</font></b><p><font color="#FFFFFF"><b>Password</b></font><b><font color="#FFFFFF">:</font></b>&nbsp;<input type="password" name="password" size="20">&nbsp;
  75.             <input type="submit" value="Login">
  76.             <input type="hidden" name="sub" value="sub">
  77.             </p>
  78.         </form>
  79.         <div class=error><?=$msg?></div>
  80.     </div>
  81. </div>
  82. </div>
  83. <div id="footer"><b><font color="#FFFFFF">Authentication by </font> <a href="http://www.pdjupiter.info">
  84.     pdjupiter.info</a><font color="#FFFFFF">&nbsp; Copyright 2011.</font></b></div>
  85. </body>
  86. </html>
  87. <? }
  88.  
  89. /* END FUNCTIONS */
  90.  
  91. $errormsg='';
  92. if (substr($_SERVER['REQUEST_URI'],-7)!='sas.php') {// if someone tries to request sas.php
  93.     if (isset($_POST['sub'])) {                     // if form has been submitted
  94.         $submitted_pass=md5($_POST['password']);    // encrypt submitted password
  95.         if (!in_array($submitted_pass, $encrypt_pass)) {        // if password is incorrect
  96.             $errormsg=$msg;
  97.             show_login_page($errormsg);
  98.             exit();
  99.         } else {                                    // if password is correct
  100.             setmycookie();
  101.         }
  102.     } else {
  103.         if (isset($_COOKIE[$cookiename])) {         // if cookie isset
  104.             if ($_COOKIE[$cookiename]==$encrypt_pass) { // if cookie is correct
  105.                // do nothing
  106.             } else {                                // if cookie is incorrect
  107.                 show_login_page($errormsg);
  108.                 exit();
  109.             }
  110.         } else {                                    // if cookie is not set
  111.             show_login_page($errormsg);
  112.             exit();
  113.         }
  114.     }
  115. } else {
  116.     echo 'Try requesting demo.php';
  117. }
  118. ?>


Gracias por adelantado