Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Como estan las passwd en servidor (https://www.clubdelphi.com/foros/showthread.php?t=51969)

Io 05-01-2008 13:33:12

Como estan las passwd en servidor
 
Saludos al Foro.

Esta pregunta técnicamente no es de PHP, pero cómo básicamente como es el lenguaje habitual con el que se realiza,por eso lo pongo aquí.

Espero que el jefe del hosting que tengo no se mosquee:rolleyes:.

Tengo una base de datos en la que hay una tabla con todos los usuarios registrados. Cuando el usuario quiere hacer login, introduce su user y passwd, mediante php el server se conecta a la tabla y comprueba el login del usuario.

La pregunta es:
El user y passwd, que proporciona el server a mysql para conectarse y poder acceder a la tabla, ¿Cómo se gestionan?, es decir se escribe a pelo en el codigo, el user y las passwd en la orden connect, o se realiza otra operación para que no se vea en código.


Bueno, espero no haber liao , mucho la cuestión.

Saludos y que no os traigan carbón, o por lo menos que sea dulce:p

dec 05-01-2008 15:09:31

Hola,

Lo que yo tengo visto en no pocas aplicaciones escritas con PHP es que esos datos mantienen en un archivo, también de PHP, para ser usados cuando son menester. Algo de precaución hay que tener. Por ejemplo, dichos datos se guardan en variables en un solo archivo: no van "dejándose" en varios archivos según necesitas conectar con el servidor y la base de datos. Y, además, el archivo en que se guardan dichos datos no "imprimen" nada, es decir, que, si tú localizaras su ruta y los "llamaras" en realidad no obtendrías nada, porque no imprimen nada.

Alguna vez me he planteado qué ocurriría si PHP dejase de funcionar en un determinado servidor, puesto que los archivos PHP, si no son procesados, no dejan de ser archivos de texto plano que pueden ser leídos sin dificultad. Ahora bien, sin haberme parado a pensar seriamente en esto, lo cierto es que, como te digo, en no pocas aplicaciones (incluso de renombre) se hace así, como imaginabas, esos datos se guardan en variables dentro de un archivo.

Io 05-01-2008 15:54:32

Gracias Dec.

Código:


<?php
  $User=Usuario;
  $Passwd=Mipassword;
?>

El archivo que tiene el código anterior, si es accedido vía web, no imprimiría nada, que creo que es lo que ma has querido decir.
Teniendo la precaución de tenerlo centralizado este tipos de datos en un único archivo, con esto sería sufuciente para guardar las psswd y users de acceso a la base de datos.
Por favor corrigeme si me equivoco.

Saludos.

dec 05-01-2008 16:18:44

Hola,

Exactamente. Ese archivo, en caso de que se "solicite" (mediante una petición HTTP) no imprimiría los datos que nos interesa, no produciría ninguna salida, así que los datos quedan a salvo, a no ser que se tenga acceso al sistema de archivos del servidor.

Un archivo como el que muestras suele llamarse "config.php", y puede requerirse cuando es preciso utilizar las variables que se definen en el mismo. Personalmente, no conozco otra forma. Tal vez porque todas las aplicaciones que he observado lo hacen así.

Io 05-01-2008 16:33:32

Ok.
Muchas gracias Dec.
Concepto aclarado.:)

Saludos

AzidRain 05-01-2008 17:50:21

Por eso me gusta el Club y por eso prefiero preguntar que andar buscand en google. Las respuestas que uno encuentra aquí son las de gente que ya lo hizo alguna vez y que no solo te dicen como lo hicieron sino valiosa información adicional.

Saludos mi buen Dec

Emilio 07-01-2008 20:58:14

Cita:

Empezado por Io (Mensaje 256179)
Espero que el jefe del hosting que tengo no se mosquee:rolleyes:.

Todo lo contrario, este sitio es muy bueno para hacer estas preguntas, ya ves que has recibido algunas.

Si me permites te amplio todavía más el tema poniendo como ejemplo este foro que ahora estamos usando.

Cuando te registraste en el foro, seleccionaste un user y pass, el user lo sabemos todos, es Io, por el contrario tu contraseña sólo la sabes tú, yo como administrador del foro no tengo acceso a ella y como administrador del server tampoco.

En la base de datos se guarda tu nombre de usuario, tu hash, y tu contraseña encriptada mediante MD5 combinado con tu hash, que implica eso, pues que cuando te identificas enviando tu user y pass, el sistema accede a tu hash haciendo uso del user que le estás pasando, una vez localizado, combina la contraseña real que le pasas, con el hash y MD5, el resultado tiene que coincidir con el chorizo de caracteres que está guardado en la base de datos como contraseña encriptada.

jachguate 07-01-2008 21:15:00

Cita:

Empezado por AzidRain (Mensaje 256243)
Por eso me gusta el Club y por eso prefiero preguntar que andar buscand en google.

Solo que esto no solo contraviene la guia de estilo, sino que denota una actitud que no es apreciada en el ClubDelphi.

Si nadie se tomara el tiempo de investigar: buscar en google, leer libros, pasar noches de desvelo y quebraderos de cabeza tratando de realizar las cosas, pues nadie estaría en capacidad de responder tus preguntas.

Claro que es perfectamente válido ir a preguntar a quien sabe y ahorrarse todo ese tiempo y quebraderos de cabeza. Esto en el mundo de los negocios regularmente se llama consultoría, y tiene precios nada baratos.

Siendo este, como lo es, un sitio de colegas, donde la ayuda no se cobra, ni se vende, lo deseable es que el mayor esfuerzo lo haga quien pregunta, y no quien responde.

Hay mucho de esto en el foro de debates. En parte, muchos argumentos se encuentran en el hilo de la calidad de las preguntas. Te invito a leerlo.

Saludos mi buen AzidRain.

Io 07-01-2008 22:52:46

Cita:

Empezado por Emilio (Mensaje 256577)
Cuando te registraste en el foro, seleccionaste un user y pass, el user lo sabemos todos, es Io, por el contrario tu contraseña sólo la sabes tú, yo como administrador del foro no tengo acceso a ella y como administrador del server tampoco.

En la base de datos se guarda tu nombre de usuario, tu hash, y tu contraseña encriptada mediante MD5 combinado con tu hash, que implica eso, pues que cuando te identificas enviando tu user y pass, el sistema accede a tu hash haciendo uso del user que le estás pasando, una vez localizado, combina la contraseña real que le pasas, con el hash y MD5, el resultado tiene que coincidir con el chorizo de caracteres que está guardado en la base de datos como contraseña encriptada.

Hola Emilio.:)
Lo que as explicado lo he entendido(bueno meno lo del hash:confused:), pero lo del user y el md5, sí, porque estoy precisamente con eso.
Pero mi pregunta inicial, fue, que el usuario que accede a la tabla users(ya se llame php_user o web_user), debe residir en el servidor, debe tener unos permisos y debe de acceder a la tabla con un user y una pwd, para posteriormente comprobar los datos de mi login. ¿Dónde se guardan estos datos para acceder?:confused:

Según la explicación que ha dado en este hilo Dec:
Cita:

<?php
$User=Usuario;
$Passwd=Mipassword;
?>
Un archivo como el que muestras suele llamarse "config.php", y puede requerirse cuando es preciso utilizar las variables que se definen en el mismo. Personalmente, no conozco otra forma. Tal vez porque todas las aplicaciones que he observado lo hacen así.
Esta sería la forma de almacenar el user y pwd, con el que se accede a la table user, para verificar el Login.(esto es lo que he entendido :p)

Saludos.

dec 07-01-2008 22:56:23

Hola,

No nos liemos... no nos liemos... :) Yo me he venido refiriendo en este hilo a los datos que se usan para que la aplicación pueda conectar, seleccionar y trabajar con una determinada base de datos. Estos datos son el nombre de usuario de la base de datos y su contraseña.

Otra cosa son los nombres y usuarios y contraseñas de la propia aplicación. Estos suelen guardarse en la base de datos, más o menos, como ha dicho Emilio, esto es, el login "en claro", pero, de la contraseña, sólo un "hash", el resultado de obtener el "MD5" de la contraseña, por ejemplo.

¿O es que me he perdido algo? :)

Io 07-01-2008 23:10:58

Cita:

Empezado por Io (Mensaje 256603)
Hola Emilio.:)
Lo que as explicado ....... Pero mi pregunta inicial, fue, que el usuario que accede a la tabla users(ya se llame php_user o web_user), debe residir en el servidor, debe tener unos permisos y debe de acceder a la tabla con un user y una pwd, para posteriormente comprobar los datos de mi login. ¿Dónde se guardan estos datos para acceder?:confused:


Cita:

Hola,

No nos liemos... no nos liemos... :) Yo me he venido refiriendo en este hilo a los datos que se usan para que la aplicación pueda conectar, seleccionar y trabajar con una determinada base de datos. Estos datos son el nombre de usuario de la base de datos y su contraseña.

Otra cosa son los nombres y usuarios y contraseñas de la propia aplicación. Estos suelen guardarse en la base de datos, más o menos, como ha dicho Emilio, esto es, el login "en claro", pero, de la contraseña, sólo un "hash", el resultado de obtener el "MD5" de la contraseña, por ejemplo.

¿O es que me he perdido algo? :)
Es exactamente el motivo del inicio de este hilo.
Creo que Emilio amplio algo más la información.

Saludo


La franja horaria es GMT +2. Ahora son las 02:07:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi