Foros del Web » Programando para Internet » PHP »

seguridad contraseña

Estas en el tema de seguridad contraseña en el foro de PHP en Foros del Web. Supongo que esto debe de ser de muy de novato, pero me gustaría que me dijerais que le veis de malo a este código en ...
  #1 (permalink)  
Antiguo 24/01/2011, 16:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 1
seguridad contraseña

Supongo que esto debe de ser de muy de novato, pero me gustaría que me dijerais que le veis de malo a este código en cuanto a seguridad y de qué forma conseguiríais hacerlo vulnerable. Ya se que existen otras formas como sesiones o cabeceras de validación pero estaba probando esto y quería opiniones

Código PHP:
<?php

if(!isset($_POST["pass"]) || $_POST["pass"]!="palabra_secreta") {$pass=""$muestrapass=true;}
else { 
$pass=$_POST["pass"]; $muestrapass=false;}

if(
$muestrapass==true)
    {
    echo 
"<form action='' method='post'>
            <input type='text' name='pass' size='10'> 
            <P><input type='submit' value='Password'> 
        </form>"
;
    }
    
if(
$pass=="palabra_secreta")
    echo 
"Conseguido. Estas dentro de la página";
?>
  #2 (permalink)  
Antiguo 24/01/2011, 20:32
Avatar de JesusDavidValdivia  
Fecha de Ingreso: enero-2011
Ubicación: Mexico
Mensajes: 46
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: seguridad contraseña

Lo Unico Util Que Puedo Decirte En Cuanto a Tu Codigo Esque QUe a La Hora Dengrbar Los Registros En Cualquiera que sea tu base de datos Uses md5($contraseña); Eso Encriptara La COntraseña a Modo de que no Podra Ver Si siquierea tu como administrador podras Y para Comparar Digamos
if(md5($password)==$COntraseñagrabada){
Sessioniniciada} else {
Error
}
  #3 (permalink)  
Antiguo 25/01/2011, 20:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: seguridad contraseña

Coincido con el anterior, podrías encriptar la contraseña con md5 o sha1. Tené en cuenta que cada vez que hagas la consulta con la base de datos tenés que pasar la contraseña por md5 o sha1 y comprobarla con la almacenada en la base de datos.

Es decir...

Código PHP:
Ver original
  1. $pass=md5($_POST["pass"]);

y luego en el ingreso del usuario:

Código PHP:
Ver original
  1. $pass=md5($_POST["pass"]);
  2.  
  3. $consulta=mysql_query("SELECT * FROM tabla WHERE usuario=$usuario AND pass=$pass");

Un saludo.
  #4 (permalink)  
Antiguo 26/01/2011, 05:34
 
Fecha de Ingreso: noviembre-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 1
Respuesta: seguridad contraseña

Hola gracias por las respuestas.

Lo de encriptar la contraseña eso está claro.

Lo que quiero saber es el nivel de seguridad que tendría el código tal y como está escrito. Es decir, especificando la contraseña ahí a lo bestia en el mismo código :"palabra_secreta", sin realizar ningún tipo de llamada a base de datos, ni encriptación ni nada.

Sunpongo que así el código tiene que ser mucho menos seguro, lo único es que incluso sabiendo yo como está programado no se me ocurre una forma de saltarme la seguridad y querría saber como alguien que supiera, si navegando por la web se encontrara una página así, como haría para encontrar la contraseña.

Si a nadie se le ocurre igual es que el código no es tan inseguro...

un saludo.
  #5 (permalink)  
Antiguo 26/01/2011, 07:37
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 7 meses
Puntos: 40
Respuesta: seguridad contraseña

Al no acceder a la base de datos y poner la contraseña en el archivo, no es que sea inseguro, es que así te limitas tu mismo las posibilidades del script, si quieres cambiar la contraseña, tienes que ir al código, si quieres tener mas usuarios... tienes que ponerlos con ifs..., no es un código que digamos muy "limpio"

Un saludo

Etiquetas: contraseña, seguridad
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:56.