Foros del Web » Programando para Internet » PHP »

Seguridad contraseña en archivo php

Estas en el tema de Seguridad contraseña en archivo php en el foro de PHP en Foros del Web. Hola amigo, tengo un inconveniente con una contraseña y un usuario que he puesto en un archivo php, no en la base de datos como ...
  #1 (permalink)  
Antiguo 27/08/2011, 21:49
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 1 mes
Puntos: 4
Seguridad contraseña en archivo php

Hola amigo, tengo un inconveniente con una contraseña y un usuario que he puesto en un archivo php, no en la base de datos como deberia ser para hacer un logeo:



Código PHP:
Ver original
  1. <?php
  2.  
  3. if($_POST['txtusuario'] !='' AND $_POST['txtcontraseña'] !='') {
  4.     if($_POST['txtusuario'] =='admin' and $_POST['txtcontraseña'] == 'admin') {
  5.         $_SESSION['admin'] = $_POST['txtusuario'];
  6.     } else {
  7.         $_SESSION['error'] ='Login incorrecto';
  8.         header('location:Administrador.php');
  9.     }
  10. }
  11.  
  12. ?>

Y me pregunto como puedo hacer para ponerle un poco de seguridad y que la contraseña no pueda ser vista facilmete, en caso de que alguna persona pueda tener acceso a este archivo que contiene estos datos

Gracias por la ayuda que me puedan dar......
  #2 (permalink)  
Antiguo 27/08/2011, 21:58
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 10 meses
Puntos: 322
Respuesta: Seguridad contraseña en archivo php

El código fuente de un archivo PHP no se puede ver nativamente, no tienes nada de qué preocuparte. Si aún así quieres tener seguridad, puedes hacerle md5() a ambos datos, luego los pones en lugar de ellos mismos. Algo así:
Código PHP:
Ver original
  1. if ($_POST['txtusuario'] == 'tuhashmd5deusuario' && $_POST['txtcontraseña'] == 'tuhashmd5decontrasena') {...

Además, no compares variables con cadenas vacías, para eso sirve empty()

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 27/08/2011, 22:52
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 1 mes
Puntos: 4
Respuesta: Seguridad contraseña en archivo php

Cita:
Iniciado por Sourcegeek Ver Mensaje
El código fuente de un archivo PHP no se puede ver nativamente, no tienes nada de qué preocuparte. Si aún así quieres tener seguridad, puedes hacerle md5() a ambos datos, luego los pones en lugar de ellos mismos. Algo así:
Código PHP:
Ver original
  1. if ($_POST['txtusuario'] == 'tuhashmd5deusuario' && $_POST['txtcontraseña'] == 'tuhashmd5decontrasena') {...

Además, no compares variables con cadenas vacías, para eso sirve empty()

Saludos!
Gracias amigo, es algo parecido a ofuscar el codigo??
  #4 (permalink)  
Antiguo 27/08/2011, 23:14
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 10 meses
Puntos: 322
Respuesta: Seguridad contraseña en archivo php

Hmmm no.
Mira, en un archivo PHP aparte, haz algo así:
Código PHP:
Ver original
  1. echo md5('aqui pones tu usuario').'<br />'.md5('aqui pones tu password');
Te van a salir dos líneas con muchas letras, bien? Esos se llaman hash, son tu usuario y contraseña hasheados. Un hash como md5 es imposible de revertir (volver a la normalidad) a menos que se use fuerza bruta, y aún así tardaría muucho tiempo.
Ahora en tu código, pon ésto llenando donde se te indica:
Código PHP:
Ver original
  1. if (md5($_POST['txtusuario']) == 'tuhashmd5deusuario' && md5($_POST['txtcontraseña']) == 'tuhashmd5decontrasena') {...

Y listo! Cualquiera que de alguna forma vea tu archivo, no podrá adivinar tu contraseña porque está hasheada

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 29/08/2011, 11:34
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 1 mes
Puntos: 4
Respuesta: Seguridad contraseña en archivo php

Cita:
Iniciado por Sourcegeek Ver Mensaje
Hmmm no.
Mira, en un archivo PHP aparte, haz algo así:
Código PHP:
Ver original
  1. echo md5('aqui pones tu usuario').'<br />'.md5('aqui pones tu password');
Te van a salir dos líneas con muchas letras, bien? Esos se llaman hash, son tu usuario y contraseña hasheados. Un hash como md5 es imposible de revertir (volver a la normalidad) a menos que se use fuerza bruta, y aún así tardaría muucho tiempo.
Ahora en tu código, pon ésto llenando donde se te indica:
Código PHP:
Ver original
  1. if (md5($_POST['txtusuario']) == 'tuhashmd5deusuario' && md5($_POST['txtcontraseña']) == 'tuhashmd5decontrasena') {...

Y listo! Cualquiera que de alguna forma vea tu archivo, no podrá adivinar tu contraseña porque está hasheada

Saludos!

Gracias, asi lo hice:


Código PHP:
Ver original
  1. if(md5($_POST['txtusuario']) == '21232f297a57a5a743894a0e4a801fc3' && md5($_POST['txtcontraseña']) == '21232f297a57a5a743894a0e4a801fc3') {
  2.         $_SESSION['admin'] = $_POST['txtusuario'];
  3.     } else {
  4.         $_SESSION['error'] ='Login incorrecto';
  5.         header('location:Administrador.php');
  6.     }

Hay alguna forma de que descubran cual es contraseña hay ahí????
  #6 (permalink)  
Antiguo 29/08/2011, 11:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Seguridad contraseña en archivo php

Cita:
Iniciado por YeisonSoto Ver Mensaje
[...] Hay alguna forma de que descubran cual es contraseña hay ahí????
No, pues MD5 es realmente seguro aunque podría darse el caso.

Para eso es mejor usar SHA1, que es miles de veces mas seguro que MD5.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: contraseña, seguridad, usuarios
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 05:20.