Salve a tutti.
Navigando per il web ho trovato un semplice script in php che permette un livello base di protezione ad alcune aree riservate di un sito.
Si compone di 3 pagine, più una dove inserisco i dati (username e password) degli utenti che mi contattano per l'accesso.
L'ho modificato in base alle mie esigenze, ma il problema è che, testando il codice sul mio sito con Mozilla Firefox funziona a meraviglia, mentre invece con IE la pagina di login si blocca (cliccando su 'Accedi', gira a vuoto). Il problema però si è presentato anche ad una mia amica, la quale ha problemi anche con Firefox e addirittura con Opera
...mentre invece un mio amico non ha alcun problema, nemmeno con IE 
Posto i codici, anche se credo che il problema risieda nelle impostazioni cookie dei browser...ma in ogni caso non saprei cosa fare quindi ...help!!!
login.php:
Codice PHP:
<?php
session_start();
if (isset($_POST["invio"])) {
$puntatore = fopen("INDIRIZZO DEL FILE CHE CONTIENE I DATI NOMEUTENTE E PASSOWRD.txt", "r");
$trovato = 0;
while ((!feof($puntatore)) && (!$trovato)) {
$linea = fgets($puntatore);
$trovato = stristr($linea, $_POST["userid"]);
$puntatore++;
}
fclose($puntatore);
list($nomeutente, $password) = split("~:~", $linea);
if (($trovato) && ($_POST["passwd"] == trim($password))) {
session_register('autorizzato');
$_SESSION["autorizzato"] = 1;
$destinazione = "INDIRIZZO PRIMA PAGINA PROTETTA.php";
} else {
$destinazione = "destroy.php";
}
echo '<script language=javascript>document.location.href="'.$destinazione.'"</script>';
} else {
// HTML ?>
<? session_start(); ?>
//codice HTML
<form method="post" action="login.php">
<.........>
</form>
<? //fine HTML
}
?>
Se i dati non sono corretti, l'accesso viene bloccato con questo script che reindirizza alla pagina iniziale:
destroy.php
Codice PHP:
<?php
session_start();
session_unset();
session_destroy();
?>
<script language="JavaScript">
document.location.href = "INDIRIZZO"
</script>
Questo è lo script che verifica l'accesso, e nel caso non sia stato effettuato, reindirizza ad una pagina che notifica l'errore:
check.php
Codice PHP:
<?php
session_start();
if (!session_is_registered('autorizzato')) {
header ("Location: INDIRIZZO");
die;
}
?>
Naturalmente, ogni pagina protetta ha la seguente stringa
Codice PHP:
<? include("check.php"); ?>
prima del tag <html>.