Foros del Web » Programando para Internet » PHP »

Enviar datos cifrados

Estas en el tema de Enviar datos cifrados en el foro de PHP en Foros del Web. Hola gente, les hago una pregunta que quizás es algo "inocente": Tengo un sistemita andando en PHP y quisiera mejorarle la seguridad enviando las passwords ...
  #1 (permalink)  
Antiguo 09/11/2003, 21:46
 
Fecha de Ingreso: mayo-2003
Mensajes: 448
Antigüedad: 14 años, 6 meses
Puntos: 5
Enviar datos cifrados

Hola gente, les hago una pregunta que quizás es algo "inocente":

Tengo un sistemita andando en PHP y quisiera mejorarle la seguridad enviando las passwords cifradas. Lo que pretendo es usar la función MD5 de PHP. De hecho la uso y almaceno en la base de datos los passwords cifrados. Pero cuando el usuario ingresa su password este viaja en texto plano.

Lo que no me doy cuenta es cuándo cifrar el dato. Es decir, yo tengo un formulario, allí el usuario escribe su password, pero yo no puedo procesarlo (o sea aplicarle la función MD5) hasta que no haya pulsado el botón "Enviar". O sea, yo debería ANTES de que el usuario presione el botón de "Enviar", hacer algo asi:

$passcifrado=md5(?????) ¿Qué pongo entre los paréntsis? Porque la variable $_POST['pass''] no existiría hasta que el usuario presione "Enviar" ¿o no?

Bueno como verán se bastante poco de seguridad informática, les agradezco de antemano la ayuda.

Tomás.
  #2 (permalink)  
Antiguo 09/11/2003, 21:54
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
bueno... esa encriptación debes hacerla en el script donde recoges las variables.
O sea algo así:

<form method="post" action="proceso.php">
<input type"text" name="nick">
<input type"password" name="pass">
<input type"submit" value="Entrar">
</form>

y en proceso.php recién encriptas:

$pass=md5($_POST['pass']);

y haces la consulta a la bd y todo lo que sigue...

saludos
  #3 (permalink)  
Antiguo 10/11/2003, 02:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Lo que tienes es usar javascript para codificar el valor del campo. Existen por ahi ficheros .js con la funcion MD5.

Aunque esto no es del todo seguro. Lo mas seguro es usar servidores seguros, y realizar las conexiones a HTTPS. De esta forma todos los datos van encriptados "automagicamente".

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 10/11/2003 a las 02:42
  #4 (permalink)  
Antiguo 10/11/2003, 21:27
 
Fecha de Ingreso: mayo-2003
Mensajes: 448
Antigüedad: 14 años, 6 meses
Puntos: 5
A jpinedo: Claro pero una vez que tengo la variable en proceso.php ¿no se supone que ya viajo desde el cliente al servidor? ¿y si alguien la interceptara en el camino?
  #5 (permalink)  
Antiguo 10/11/2003, 22:41
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Bueno... tienes razón... como verás yo sé menos de seguridad... sólo que había una pregunta que se estaba repitiendo últimamente en el foro... y era ¿si encripto el pass para guardarlo en la bd... cómo lo desencripto pa validarlo?... y tú preguntas algo más avanzado que eso... lo siento, no me fijé bien.. estaré más atento pa la próxima...
Además voy a leer algo sobre lo que puso josemi porque ya me interesó el tema...
saludos
  #6 (permalink)  
Antiguo 11/11/2003, 08:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tomas...

Como te comentó josemi .. para el tramo entre cliente-servidor debes usar SSL (Secure Socket Layer) (https:// ....) Ese soporte SSL lo dá tu servidor HTTP que uses y .. que para ser ademas de "seguro" confiable necesitas de un certificado asociado y válido que te lo otorga (previo pago$$) alguna empresa acreditada (Verysig.com .. y sitios así).

El soporte SSL es "transparente" para tu programación en PHP (en general para cualquier lenguaje del lado del servidor .. sea PHP, Perl, etc) .. Así que por parte de PHP no necesitas nada extra. Sólo colocar tus scripts y formularios HTML en la zona "https" que tengas definida en tu servidor ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 20:34.