HTTP_REFERER e area riservata..

robysdc

Nuovo Utente
15 Nov 2008
21
0
0
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
-----------------
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:

lotus

Utente Attivo
5 Mag 2009
543
8
0
Forse sarà un approccio brutale ma hai pensato a provare a testare che la stringa di provenienza contenga solo "http://miosito.org/" senza verificare esattamente l'url??

Cioè se l'indirizzo di provenienza contiene l'host del tuo sito allora...


Dimmi se è ok.

Ciro
 
Discussioni simili
Autore Titolo Forum Risposte Data
A errore http://datatables.net/tn/7 PHP 4
M HTTP Status 500 - Internal Server Error. Java 0
L Richieste HTTP get post PHP 1
M [PHP] Modi per fare redirect 301 da http a https PHP 12
B [Java] Paginazione in risposta HTTP Java 0
P Migrazione sito da http a https per rispettare linee guida google SEO e Posizionamento 12
giorgiolovecchio [WordPress] Risorsa http invalida sicurezza sito WordPress 2
Z HTTP ERROR 500 - La pagina non funziona - Joomla! Joomla 0
E [IIS] Reindirizzare richieste esterna http su https Web Server 0
MarcoGrazia Ricerca dell'esistenza del protocollo ( http | https ) in un url Javascript 2
W scambio banner sito per adulti http://massaggicinesi.tk/ Offerte e Richieste di scambio links 0
C Meta tag http-equiv="X-UA-Compatible" errore validatore w3c HTML e CSS 3
A conflitto http/https con google sites Javascript 1
Eruyomon http://studiosergipartners.it/ Presenta il tuo Sito 0
novello88 HTTP Basic Auth su Altervista PHP 0
E HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this director Hosting 10
D Centralizzare Http da più server via ssh Linux e Software 1
Z Esercizio HTTP su SSL Apache 1
M Come verificare accesso ad area http auth basic? PHP 7
V HTTP Long polling Ajax 7
E http request - POST o PUT? PHP 1
M Verifica HTTP o HTTPS PHP 1
C [RISOLTO]Numeri random al termine di un link http Javascript 27
A HTTP Error 403.14 - Forbidden Hosting 4
B Scaricare file xml dopo autenticazione http PHP 1
D richieste http PHP 1
A Alternativa al <meta http-equiv="refresh" content="5;url=code.php" > HTML e CSS 5
L Tabella con rappresentazione corretta di tutti i campi e dei link HTTP . Ciclo for? PHP 5
M Volevo creare un servizio come http://www.destructingmessage.com/ PHP 2
D http://www.dedalo.byethost6.com/ Dedalo intelligenza condivisa Presenta il tuo Sito 0
M http://cryptoncomputer.altervista.org/webphp.php Presenta il tuo Sito 2
M Instantempo! http://instantempo.mattyfog.com Presenta il tuo Sito 0
C Professionista I.T. - Informatico free lance - http://www.malorgio.it Presenta il tuo Sito 0
D Problema DOPPIA richiesta HTTP Ajax 0
I 505 HTTP Version Not Supported PHP 5
T IIS attivo ma errore su http://localhost Classic ASP 1
catellostefano [URGENTISSIMO] si è verificato un errore in http server Apache 2
JellyBelly GET tramite file_get_contents a un url esterno http PHP 2
M Ajax http request refresh problem Ajax 0
N URGENTE "script src=http://www.bnradd.mobi/ngg.js" Database 0
S http://www.eventi-nightanday.com/ Presenta il tuo Sito 0
daviduccio IIS6 e PHP - Intestazioni HTTP - Web Server 5
G http://www.calcioealtro.netsons.org Presenta il tuo Sito 1
G http://wwe.nude.divas.forumcommunity.net/ Presenta il tuo Sito 0
virus.jack Http://virusjack.altervista.org Presenta il tuo Sito 0
V http://viviana.altervista.org Presenta il tuo Sito 3
M http://www.securitysite.helloweb.eu Presenta il tuo Sito 0
L http://www.securelook-mail.biz/ - Directory Free Presenta il tuo Sito 0
D nokia forum - il forum dedicato ai nokia e non solo: http://nokia.theforumx.net/ Presenta il tuo Sito 1
R HTTP Error 404 - File or directory not found. Classic ASP 1

Discussioni simili