Foros del Web » Programando para Internet » PHP »

Pienso en quitarme la vida con este problema

Estas en el tema de Pienso en quitarme la vida con este problema en el foro de PHP en Foros del Web. Es broma claro pero bien loco que me trae este problema con esto. Primeramente para comenzar siendo claro no tengo conocimientos de PHP. El siguiente ...
  #1 (permalink)  
Antiguo 09/04/2011, 18:39
 
Fecha de Ingreso: abril-2011
Mensajes: 12
Antigüedad: 13 años, 7 meses
Puntos: 0
Pienso en quitarme la vida con este problema

Es broma claro pero bien loco que me trae este problema con esto.


Primeramente para comenzar siendo claro no tengo conocimientos de PHP.


El siguiente script sirve para proteger paginas web, el script se compone de un password y un tiempo de limite de sesion manejado mediante una cookie que el script crea al uno hacer login.

en la pagina que queremos proteger llamamos el script asi:

<?php require("sas.php"); ?>

Luego cuando uno visita la pagina esta llama ese script y te pide login para entrar a dicha pagina.

El script funciona a las mil maravillas pero mi problema es que quiero poder especificarle varios passwords y no un solo password como esta originalmente.

Por favor no me pregunten para que porque pueden liarse simplemente el script solamente puede se configurado con un solo password y quiero ejemplo tener 2 passwords para dos usuarios distintos, pero que el resto del funcionamiento sigua igualito al original.

A continuacion pongo el script con la esperanza de que alguien me ayuda para agradecer la vida entera ya he pagado en sitios que me roban el dinero y no se que hacer. Como dije al principio no se nada de PHP

Código PHP:
Ver original
  1. <?php
  2.  
  3. /* Config Section */
  4.  
  5. $pass       = 'user1';              // Set the password.
  6. $cookiename = 'sascookie';              // Optional change: Give the cookie a name. Default is sascookie
  7. $expirytime = time()+7200;              // 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() - 7200);                            // 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=md5($pass);   // encrypt password
  31.  
  32. function setmycookie() {
  33. global $cookiename,$encrypt_pass,$expirytime;
  34.     setcookie($cookiename,$encrypt_pass,$expirytime);
  35. }  
  36.  
  37. function show_login_page($msg) {
  38. ?>
  39. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  40. <html xmlns="http://www.w3.org/1999/xhtml">
  41. <head>
  42. <title>Authorization Required</title>
  43. <style type="text/css">
  44. <!--
  45. .error {color:#A80000}
  46. body {font:90% Verdana, Arial, sans-serif;color:#404040}
  47. #wrapper {width:800px;margin:0 auto;border:1px solid #606060}
  48. #main {text-align:center;padding:15px}
  49. #header {font:bold 130% Verdana, Arial, sans-serif;color:#DDDDDD;width:100%;height:5em;text-align:center;background:#A80000;line-height:5em}
  50. #mid {margin:5em 0 5em 0}
  51. #footer {font-size:75%;text-align:center;width:100%}
  52. input {border:1px solid #606060; background: #DDDDDD}
  53. -->
  54. </style>
  55. </head>
  56. <body bgcolor="#000000">
  57. <div id="wrapper">
  58.     <div id="header"><font color="#FFFFFF">Autorizacion Requerida</font></div>
  59. <div id="main">
  60.     <div id="mid">
  61.        
  62.         <form action="" method="POST">
  63.             <b><font face="Lucida Sans" size="6"><font color="#CC3300">PD</font><font color="#FFFFFF">Jupiter.info
  64.         | Canales Premium en Vivo<br>
  65.             <br>
  66.             </font></font><font face="Lucida Sans" size="3" color="#FFFF00">Su
  67.             sesión ha sido terminada por inactividad, favor ingrese su password
  68.             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;
  69.             <input type="submit" value="Login">
  70.             <input type="hidden" name="sub" value="sub">
  71.             </p>
  72.         </form>
  73.         <div class=error><?=$msg?></div>
  74.     </div>
  75. </div>
  76. </div>
  77. <div id="footer"><b><font color="#FFFFFF">Authentication by </font> <a href="http://www.pdjupiter.info">
  78.     pdjupiter.info</a><font color="#FFFFFF">&nbsp; Copyright 2011.</font></b></div>
  79. </body>
  80. </html>
  81. <? }
  82.  
  83. /* END FUNCTIONS */
  84.  
  85. $errormsg='';
  86. if (substr($_SERVER['REQUEST_URI'],-7)!='sas.php') {// if someone tries to request sas.php
  87.     if (isset($_POST['sub'])) {                     // if form has been submitted
  88.         $submitted_pass=md5($_POST['password']);    // encrypt submitted password
  89.         if ($submitted_pass<>$encrypt_pass) {       // if password is incorrect
  90.             $errormsg=$msg;
  91.             show_login_page($errormsg);
  92.             exit();
  93.         } else {                                    // if password is correct
  94.             setmycookie();
  95.         }
  96.     } else {
  97.         if (isset($_COOKIE[$cookiename])) {         // if cookie isset
  98.             if ($_COOKIE[$cookiename]==$encrypt_pass) { // if cookie is correct
  99.                // do nothing
  100.             } else {                                // if cookie is incorrect
  101.                 show_login_page($errormsg);
  102.                 exit();
  103.             }
  104.         } else {                                    // if cookie is not set
  105.             show_login_page($errormsg);
  106.             exit();
  107.         }
  108.     }
  109. } else {
  110.     echo 'Try requesting demo.php';
  111. }
  112. ?>


Ayuda por favor agradezco el esfuerzo.
  #2 (permalink)  
Antiguo 09/04/2011, 19:46
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 16 años, 6 meses
Puntos: 6
Respuesta: Pienso en quitarme la vida con este problema

El mejor camino es que lo borres y no uses cookies para la contraseña

aqui un ejemplo basico

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     if($_POST['usuario']!='')
  4.     {
  5.         //aqui defines tus usuarios y contraseñas
  6.         //usuario1 / contrasena1
  7.         if( ($_POST['usuario']=='usuario1') AND ($_POST['pass']=='contrasena1') )
  8.         {
  9.             $_SESSION['usuario']='usuario1';
  10.         }
  11.         // juan/1234
  12.         if( ($_POST['usuario']=='juan') AND ($_POST['pass']=='1234') )
  13.         {
  14.             $_SESSION['usuario']='juan';
  15.         }
  16.         // luis/hola
  17.         if( ($_POST['usuario']=='luis') AND ($_POST['pass']=='hola') )
  18.         {
  19.             $_SESSION['usuario']='luis';
  20.         }
  21.        
  22.     }
  23.    
  24.     if($_GET['salir']=='si')
  25.     {
  26.         session_destroy();
  27.         session_start();
  28.         $_SESSION['usuario']='';        
  29.     }
  30.  
  31.     $usuario=$_SESSION['usuario'];
  32.     if($usuario!='')// usuario no registrado, pregunta contraseña
  33.     {
  34.         echo "aqui dibuja el formulario con el campo llamado usuario y pass";
  35.     }
  36.     else
  37.     {
  38.         $url_salir=$_SERVER['PHP_SELF'].'?salir=si';
  39.         echo "Salidos $usuario ";
  40.         echo "<a href='$url_salir>Salir</a>";
  41.        
  42.     }
  43.    
  44.  
  45.  
  46. ?>

otra opcion mejor es tener una base de datos con usuarios y contraseñas

PD: no probe el codigo, pero debe de funcionar con el mas minimo ajuste
__________________
- - - - - - - - -
  #3 (permalink)  
Antiguo 09/04/2011, 19:52
 
Fecha de Ingreso: abril-2011
Mensajes: 12
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Pienso en quitarme la vida con este problema

Pero es que una de las cosas que mas me importan del script es las cookies, no hay forma de poder modificar ese script en el sentido solicitado?

Agradezco cualquier esfuerzo por parte de ustedes, si es posible estoy dispuesto a pagar por esto pero si no es posible tambien puedo olvidar el tema.

Gracias.
  #4 (permalink)  
Antiguo 09/04/2011, 22:35
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 16 años, 6 meses
Puntos: 6
Respuesta: Pienso en quitarme la vida con este problema

meter acceso en cookie es falla de seguridad

porque deseas que a fuerzas sean cookis?
__________________
- - - - - - - - -
  #5 (permalink)  
Antiguo 09/04/2011, 22:37
 
Fecha de Ingreso: abril-2011
Mensajes: 12
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Pienso en quitarme la vida con este problema

Correcto compredo

entonces como elimino el sistema de cookies pero que puede especificarle varios passwords

gracias.

Etiquetas: vida
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:20.