entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Fallo seguridad en web

Buenas. Tengo una web la cual consta de lo siguiente:
index.php: la cual tiene un formulario con usuario y contraseña, la cual verifica si existe en la BD. Si el usuario y la contraseña son correctos carga un archivo llamado logout.php, que tiene el siguiente código.

<?php
session_start();
session_destroy();

header('location: web.php');?>

Y una vez hecho esto ya me lleva a web.php, la cual también tiene acceso a galery.php y al revés.
Si yo intento llegar a web.php desde el index.php necesito saber la contraseña (para eso lo he hecho), pero por ejemplo, si yo pongo directamente la dirección con web.php, no me hace falta la contraseña ni nada, y carga la web.......
Que se debe hacer para que no deje entrar ni en web.php y en galery.php sin antes haber pasado por el index.php y haber puesto bien el usuario y la contraseña????
Gracias.

2 Respuestas

4votos

carlossevi Puntos63580

Lo que tu código está haciendo:

  1. Validar usuario y contraseña
  2. Iniciar sesión PHP
  3. Terminar sesión PHP
  4. Redireccionar a una dirección "web.php"

La única seguridad que estás aplicando es seguridad por ofuscación. Es decir, toda tu seguridad se basa en que un visitante no aunticado no conoce la ruta web.php, pero si cualquiera la averigua puede accederla a ella sin problemas tenga o no credenciales.

Lo que tienes que hacer:

  1. Validar usuario y contraseña
  2. Iniciar sesión PHP
  3. Redireccionar a una dirección "web.php" o cualquiera de las protegidas.
  4. En cualquiera de las páginas protegidas debes revisar la sesión PHP en primer lugar. En caso de que falle (no autenticado), redireccionar a {1}, en caso de sesión correcta, continuar navegando.
  5. En caso de cierre de sesión: Terminar sesión (PHP).

Te dejo algunos enlaces que explican con ejemplos básicos como implementarlo:

https://wlannot.wordpress.com/2007/03/01/validacion-o-autenticacion-de-usuarios-en-php-primera-parte/
http://netflie.es/2011/10/11/sistema-de-autenticacion-sencillo-con-php-y-mysql/
http://www.desarrolloweb.com/manuales/37/

0voto

nachito777sk comentado

Ok, me ha quedado claro. Voy a probar a ver que tal.
Gracias.

0voto

nachito777sk comentado

Me ha ido todo perfecto.

2votos

rfretel Puntos180

Hola me gustaria aportar un poquito mas, si bien es cierto se puede controlar de esa forma las sesiones de usuarios; en lo personal yo te recomendaría usar una arquitectura de software MVC que es muy util para sistemas en linea y junto con una clase enrutador para poder gestinoar las peticiones de los usuarios asi siempre tendrias control sobre tus archivos php espero te ayude a profundizar en el tema... Suerte

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta