Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/09/2012, 13:15
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema con Sistema de Proteccion de pagina.

No es que interfiera, simplemente es natural, ve tu proceso, tu pagina microProtector te deja entrar si el password es igual a pass, este llega por $_POST, entonces este es el flujo:

Entras a tu pagina, dentro haces el require a microProtector y verifica que $_POST['passwd'] sea igual a "pass", como no es, te muestra tu formulario de login, y todo bien.

Insertas tu password y haces un POST de nuevo a la misma pagina, esta vez al entrar a microPortector si existe $_POST['passwd'] y es igual a pass, entonces te muestra tu pagina original (admin.php).

Al enviar el formulario de admin.php por POST, en este punto ya no vuelve a existir $_POST['passwd'], ya que se perdió al terminar de cargar la pagina (por la naturaleza stateless de PHP).

Es por eso que para solucionarlo de esto puedes hacer dos cosas:

1.- Agregar un campo tipo hidden en tu formulario de admin.php que se llame passwd y pongas ahí el password para que al enviar siga existiendo $_POST['passwd'] y te permita insertar las noticias.

2.- Usar una sesión para autentificar a tu usuario, así al hacer el post simplemente checas que exista la sesión correcta y en caso correcto permitir el acceso al usuario.

Saludos.