Foros del Web » Programando para Internet » PHP »

Seguridad login/password

Estas en el tema de Seguridad login/password en el foro de PHP en Foros del Web. Estoy desarrollando una aplicacion típica de login/password en Php. La identificación se necesita para acceder a una página desde donde se puede bajar (por medio ...
  #1 (permalink)  
Antiguo 08/10/2003, 09:35
Avatar de Orgueira  
Fecha de Ingreso: junio-2002
Ubicación: Coruña
Mensajes: 63
Antigüedad: 15 años, 6 meses
Puntos: 0
Seguridad login/password

Estoy desarrollando una aplicacion típica de login/password en Php. La identificación se necesita para acceder a una página desde donde se puede bajar (por medio de links) una documentación. El problema que le veo es que una vez accedido a la página previo login/password con copiar la dirección de enlace a la documentación se puede acceder a esta sin ninguna restriccion en sucesivas ocasiones pegandola en la direccion del explorador.

¿Como puedo proteger esta documentación para que solo se pueda acceder a ella mediante login/paswword? El entorno es Apache-Php-Mysql. Quizas es una cuestion mas de configuracion de apache.

Gracias .-
  #2 (permalink)  
Antiguo 08/10/2003, 09:52
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 16 años, 7 meses
Puntos: 2
con sesiones puedes arreglar ese problema.
Osea pides la clave en una pagina y si es correcta accedes a esta pagina con links. u otras. en cada una de estas preguntas si la clave es correcta. y listo. eso seria todo.,

Saludos.
  #3 (permalink)  
Antiguo 08/10/2003, 14:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm bueno Phobos .. al usar sesiones (guardandote el nick del usuario u otra variable "flag" de estado "identificado") NO se suele validar al usuario contantemente contra tu BD o sistema donde almacenees sus datos del "login" (usuario/password) ..

Esto es así por qué se "confia" en que la sesión permanece en el servidor .. y que es única para cada cliente que inicia su sesión (no es compartida por el resto de usuairos de tu servidor o de tu própia aplicación).

En un sistema controlado de usuarios hay dos procesos principales:

1) Autentificación:
Usar un formulario HTML .. u otros médios para solicitarle a tu usuario el par: identificador/password (nombre usuario, o lo que corresponda).

2) "Tranking" (o como se escriba) .. En castellano: "seguimiento" del usuario en tus páginas.
Ese "seguimiento" lo haces chequeando la existencia de esa variable de sesión que se creó al autentificarse correctamente en tu sistema (pasó la validación del punto 1).

Y ... bueno, el otro proceso importante sería el "loguot" .. o "salir del sistema". Para eso, se trata de "matar" la sesión activa (o las variables que validas su existencia en el punto 2). También interviene configuración del servidor (tema sesiones) para que la sesión expire automáticamente a cierto tiempo o al cerrar el navegador el usuario. (esto sería un sistema básico).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 08/10/2003, 17:19
Avatar de Orgueira  
Fecha de Ingreso: junio-2002
Ubicación: Coruña
Mensajes: 63
Antigüedad: 15 años, 6 meses
Puntos: 0
creo k es así

El seguimiento de la sesion ya lo hago. Pero lo que quiero restringir es el acceso a un archivo apuntado por una de las páginas que requieren autentificacion. Este archivo es un .doc o un .pdf (o cualquiera que no sea una página), que copiando la ruta al acceder una vez podrias pegar en el navegador en sucesivas veces (y descargar el archivo) sin pasar la autentificacion.

Por lo que estube mirando tengo que restringir el acceso a la carpeta donde se encuentra esta documentación en el .htaccess de apache, de modo que solo se pueda acceder a la carpeta desde la IP donde se encuentra el script php.

Un Saludo
  #5 (permalink)  
Antiguo 08/10/2003, 17:27
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

No tienes por que. Si almacenas tus documentos en una carpeta no accesible via web (por encima de tu directorio raiz), puedes usar un script PHP que lo lea del sistema de ficheros y lo mande al navegador. Ese script debe tener tambien el seguimiento de la sesion.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 08/10/2003, 19:36
Avatar de Orgueira  
Fecha de Ingreso: junio-2002
Ubicación: Coruña
Mensajes: 63
Antigüedad: 15 años, 6 meses
Puntos: 0
El sitio web está en un servidor de pago, al que no creo que me permitan subir ficheros por encima del directorio raiz. En cualquier caso no domino tanto php y no me quería complicar tanto si se puede hacer con una simple restriccion en .htaccess.

Gracias.-
  #7 (permalink)  
Antiguo 08/10/2003, 21:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
"del raiz" ... no vas a poder subir (para eso se llama raiz) ..

Pero dentro de tu "servidor virtual" .. al entrar por FTP a tu servidor verás que tienes directorios tipo:

public_html <-- que es donde pones tus páginas web sean .html o .php ...
cgi-bin <-- donde pones tus scripts cgi (perl .pl .. .cgi ..)

Y algunos directorios más si dispones de estadisticas de log y cosas así.

El caso es que tienes que crear un directorio FUERA de tu "public_html" (o como se llame donde ubicas tus páginas web) .. y ahí es donde tienes que subir tus archivos y llamarlos desde PHP con rutas "ABSOLUTAS" .. osease algo tipo:

/var/www/sitiotal.com/mis_archivos/aqui.zip

o como corresponda (en un phpinfo() puedes ver la ruta absoluta de tu servidor virtual asignado en ese servidor ..)

Y .. lo del .htaccess te sirve para hacer la restricción .. pero la idea es tener el control de cuando y donde se bajan el archivo .. De esa manera no controlaras los accesos "incorrectos" al archivo, pero . si dices que no te quieres complicar OK .. visita el manual de Apache y fijate en como restringir archivos por acceso .. Allow GET o deny GET es la directiva (o algo así). (en forosdelweb tenemos el foro "Servidores web -> Apache" por si deseas preguntar por allá)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 09/10/2003, 01:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Perdon, me exprese mal. Queria decir del raiz del sitio web (el HTML o public_html), no del raiz del sistema de ficheros.

Ahora que lo pienso, quizas tambien podrias poner tus ficheros de descaga en un directorio donde este prohibido el acceso GET y POST (creo que lo puedes limitar por .htaccess), y usar el script para seguir la session. Asi nunca veran la URL real del fichero, y si por algun motivo lo descubren, no podran bajarlo.

Sobre el .htaccess, pregunta en el subforo adecuado, y revisa el manual de Apache.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 09/10/2003, 07:04
Avatar de Orgueira  
Fecha de Ingreso: junio-2002
Ubicación: Coruña
Mensajes: 63
Antigüedad: 15 años, 6 meses
Puntos: 0
Ok, gracias por la información. Quizas prueba las dos posibilidades.

Un Saludo.-
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:45.