1. Supongo, que la función redirect(..) cuando la usas, hace un exit o algo así para interrumpir que la página se mande. No sirve de nada redireccionar al usuario, si tb le envias la página que no debería ver (un hacker si podría verla MUY facilmente)
2. Otra posible debilidad, es que aquí compruebas:
pero aquí no:
Nada te puede asegurar que el cliente (algo que no controlas casi en absoluto, no sabes quien hay usando tu página) haya enviado /pagina?urlAccesso=... Y tu código fallaría.
Código PHP:
Ver original$urlAcceso = isset($_GET['urlAcceso']) ?
$_GET["urlAcceso"] : '/pagina-principal-del-sitio';
3. Procura usar cadenas simples '...' en vez de "...", porque cada vez que usas "..." PHP tiene que escanear la cadena entera (aunque sean cortas, pero mira es un tiempo y recursos gastados) en busca de cosas que reemplazar, tipo "antes $reemplazar despues". Es un consejo para incrementar el rendimiento, aunque no es absolutamente necesario.
Finalmente solo decirte que:
1. Excelente que guardes las contraseñas con md5() y lo compruebes con eso.
2. Excelente código, fácil de leer y muy organizado.