Salve a tutti,
ho recentemente aggiornato il mio sito alla versione 5.3 di php e sono riuscito a mettere a posto quasi tutto.
Ho però uno script che gestisce il login in area protetta che non vuole saperne più di funzionare.
In origine era il seguente:
Codice PHP:
<?php
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=\"Xavier Protection\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Operazione Annullata. Ricarica la pagina per inserire username e password\n";
exit;
}
else
{
if (($PHP_AUTH_USER == "") || ($PHP_AUTH_PW == ""))
{
Header("HTTP/1.0 401 Unauthorized");
echo "Spiacente, username e/o password errati!";
exit;
}
else {
// CONNESSIONE AL DATABASE E VERIFICA DELLA PASSWORD
if (strcmp($pass,md5($PHP_AUTH_PW)) == 0)
{
?>
HTML DELLA PAGINA PROTETTA
<?
exit;
}
else
{
Header("HTTP/1.0 401 Unauthorized");
echo "Spiacente, username e/o password errati!";
exit;
}
}
}
?>
</body>
</html>
Ho provato anche a sostituire le varibili $PHP_AUTH_USER e $PHP_AUTH_PW con $_SERVER['PHP_AUTH_USER'] e $_SERVER['PHP_AUTH_PW'] ma niente.
Semplicemente mi continua ad uscire la finestra di login ad ogni tentativo di accesso fino a quando non annullo l'operazione.
Inutile aggiungere che non è un problema di controllo dei dati sul db dato che prima del passaggio a php 5.3 lo script funzionava correttamente.
Aggiungo che nell'attuale configurazione di php impostata nella mia area amministrativa (per permettere al resto del sito di funzionare) ho settato Register Globals ad on (ed in teoria non posso cambiarlo senza metter mano a mezzo sito).
Ho provato a cercare nel web qualsiasi forma di soluzione al problema ma niente da fare.
Qualcuno di voi sa per favore come aiutarmi prima di rimettermi a fare l'intero sistema di login?!?
Grazie anticipatamente