
12/09/2012, 13:15
|
 | $this->role('moderador'); | | Fecha de Ingreso: mayo-2006 Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 8 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. |