¿Mejor manera de restringir acceso?

Iniciado por 19.5, 14 Diciembre 2007, 22:00 PM

0 Miembros y 1 Visitante están viendo este tema.

19.5

Buenas.
Directo al grano. Según sus criterios, ¿cuál es la mejor manera de proteger una página hecha en php por medio de un usuario y contraseña? ¿Y POR QUÉ?
Por ejemplo:

1.- Directamente con un POST (if user="mack" && pass....)
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)
4.- Otro?

Sería interesante que cuando argumenten su opinión, dijeran posibles métodos que vulneraran el mecanismo. Si me decisión fuese la Nº1 se corre el riesgo de un XSS o la Nº3 de una inyección SQL. Y poner algún ejemplo que lo demuestre.

Gracias.

дٳŦ٭

Citar
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)

Las dos juntas. Riesgo, inyección sql, xss, hasta rfi, etc.


Con sangre andaluza :)


19.5

Cita de: Ing_Amc en 14 Diciembre 2007, 23:29 PM
Citar
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)

Las dos juntas. Riesgo, inyección sql, xss, hasta rfi, etc.
Pero por qué las dos juntas? En el tema dice explicitamente ejemplificar.
Gracias.

дٳŦ٭

Cita de: 19.5 en 15 Diciembre 2007, 05:40 AM
Cita de: Ing_Amc en 14 Diciembre 2007, 23:29 PM
Citar
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)

Las dos juntas. Riesgo, inyección sql, xss, hasta rfi, etc.
Pero por qué las dos juntas? En el tema dice explicitamente ejemplificar.
Gracias.

Orale


Con sangre andaluza :)


19.5

Lo que aparece entre paréntesis es sólo una idea de la situación pero NO es considerado como ejemplo. Cuando dije que ejemplificaras que me refería a que publicaras algún code sencillo que explicara esa unión, entre uso de sesiones y una base de datos.

WHK

Juaz, y no quieres una taza de café también?,

Tu código es muy básico como para ejemplificar una situación, son muchas las variables y conbinaciones posibles, todo depende el sistema y como esté comprometido ese código dentro del sistema, además solo diste ejemplos, nada concreto donde uno pueda deducir por donde podría fallar.

Yo podría dar ejemplo:
if (!file_exist($ruta)) { NO; } else { OK; }

Ahora yo podría definir OK y NO con funciones declaradas con anterioridad pero en ese ejemplo yo podría decir que no tiene RFI pero si una denegación de servicio si hago un include al propio index, es mas, no es RFI pero si LFI... ahora si mas arriba hubiera filtrado $ruta entonces ya no sería vulnerable, además si todo eso hubiera cambiado dependiendo en que lugar del sistema se encuentre.

En simples palabras tu código es muy pobre como para deducir fallas. Expresate mejor si quieres ejemplos concretos.