Ciao a tutti
visto il grande aiuto che ogni volta sapete darmi vi posto un'altra mia richiesta:
ho predisposto un'area ad accesso riservato che utilizza i cookie fatta più o meno così:
Preparo il modulo per l'accesso all'area riservata.
modulo di login.htm
-----------------
Verifico i dati passati dal modulo e se ok setto un cookie le computer dell'utente con il nome TEST e gli assegno il valore "ok" e scadenza a 1 anno dalla data di oggi.
redirect.php
------------------
Recupero il cookie precedentemente memorizzato nel computer dell'utente e controllo che sia presente ossia se il browser dell'utemte accetta i cookie oppure no.
welcome.php
-----------------
così tutto pare funzionare, l'unica cosa che non mi piace è che se un utente "malintenzionato" digita direttamente il link alla pagina protetta welcome.php il programmino non lo lascia entrare (dato che nn trova i cookie) ma gli risponde " "Non accetti i cookie. Per entrare devi abilitare il browser ad accettare i cookie".
in questi casi preferirei mostrare il messaggio "non sei autorizzato ad entrare in questa area"..
Per farlo ho inserito allora in welcome.php una verifica della pagina di proveninza:
se si proviene da login.php va tutto bene altrimenti non si entra ricevendo il messaggio: "non sei autorizzato ad entrare in questa area".
il codice sarebbe questo:
Così facendo però se un navigatore, effettua l'accesso, visita la pagina protetta e poi esce e rientra passando da un'altra pagina del mio sito diversa da LOGIN.php non può più entrare anche se il cookie è ancora valido..
Insomma..
è possibile settare
modificando la condizione if in modo che riconosca la provenienza da una QUALUNQUE delle pagine del mio sito e NON SOLTANTO DA UNA singola pagina??
Grazie mille a tutti per la pazienza...
visto il grande aiuto che ogni volta sapete darmi vi posto un'altra mia richiesta:
ho predisposto un'area ad accesso riservato che utilizza i cookie fatta più o meno così:
Preparo il modulo per l'accesso all'area riservata.
modulo di login.htm
-----------------
PHP:
<form method="POST" action="redirect.php">
Password <input type="password" name="password">
<input type="submit" value="Login">
</form>
Verifico i dati passati dal modulo e se ok setto un cookie le computer dell'utente con il nome TEST e gli assegno il valore "ok" e scadenza a 1 anno dalla data di oggi.
redirect.php
------------------
PHP:
<?php
// verifico username e password e se ok...
$password = $_POST["password"];
if ($password <> 'pizza87') {
echo "Non sei autorizzato ad entrare in quest'area";
} else {
setcookie("TEST", "ok", time() + 60 *15);
header("Location: [url]http://miosito.org/welcome.php[/url]");
}
?>
Recupero il cookie precedentemente memorizzato nel computer dell'utente e controllo che sia presente ossia se il browser dell'utemte accetta i cookie oppure no.
welcome.php
-----------------
PHP:
<?php
if (!isset($_COOKIE["TEST"])) {
echo "Non accetti i cookie. Per entrare devi abilitare il browser ad accettare i cookie";
} else {
echo "Mostro la pagina di ingresso";
}
?>
così tutto pare funzionare, l'unica cosa che non mi piace è che se un utente "malintenzionato" digita direttamente il link alla pagina protetta welcome.php il programmino non lo lascia entrare (dato che nn trova i cookie) ma gli risponde " "Non accetti i cookie. Per entrare devi abilitare il browser ad accettare i cookie".
in questi casi preferirei mostrare il messaggio "non sei autorizzato ad entrare in questa area"..
Per farlo ho inserito allora in welcome.php una verifica della pagina di proveninza:
se si proviene da login.php va tutto bene altrimenti non si entra ricevendo il messaggio: "non sei autorizzato ad entrare in questa area".
il codice sarebbe questo:
PHP:
<?php
$provenienza = $_SERVER["HTTP_REFERER"];
if ($provenienza == "http://miosito.org//login.php") {
if (!isset($_COOKIE["TEST"])) {
echo "Non accetti i cookie. Per entrare devi abilitare il browser ad accettare i cookie";
} else {
echoo "Mostro la pagina di ingresso"; }
}
else {
echo "<div align='center'>Non sei autorizzato ad entrare in quest'area</div><br>
<div align='center'>Torna alla pagina di <a href=login.php>login</a></div>";
}
?>
Così facendo però se un navigatore, effettua l'accesso, visita la pagina protetta e poi esce e rientra passando da un'altra pagina del mio sito diversa da LOGIN.php non può più entrare anche se il cookie è ancora valido..
Insomma..
è possibile settare
PHP:
$provenienza = $_SERVER["HTTP_REFERER"];
if ($provenienza == "http://miosito.org/Php/Guild/login.php")
modificando la condizione if in modo che riconosca la provenienza da una QUALUNQUE delle pagine del mio sito e NON SOLTANTO DA UNA singola pagina??
Grazie mille a tutti per la pazienza...
Ultima modifica: