Salve signori vorrei visualizzare una pagina ad utenti che provengono da un determinato sito
ho provato cosi, ma non va
idee? graziecodice:<? if ($_SERVER[‘HTTP_REFERER’] == "http://www.sito.it"){ echo SI ; } else { echo NO ; } ?>
Salve signori vorrei visualizzare una pagina ad utenti che provengono da un determinato sito
ho provato cosi, ma non va
idee? graziecodice:<? if ($_SERVER[‘HTTP_REFERER’] == "http://www.sito.it"){ echo SI ; } else { echo NO ; } ?>
per il tuo scopo sarebbe più corretto utilizzarlo in questo modo:
non c'è bisogno di ricordarti che HTTP_REFERER viene popolata da intestazioni http, e che quindi è un dato di cui non ti devi fidareCodice PHP:
if (strpos($_SERVER['HTTP_REFERER'], "http://www.url.com/") === 0) {
echo "Visitatore che viene da url.com";
}
effettivamente cosi funziona, senti per aggiungere piu di un sito qual'è la sintassi corretta con il tuo metodo
if (strpos($_SERVER['HTTP_REFERER'], "http://www.url.com/", "sitox", "sitoy") === 0)
cioè vorrei che se proviene da uno di questi allora è ok, ma cosi nn so se va
potresti farlo con le espressioni regolarli, ma è carino farlo anche in questo modo:
oppure molto più banalmenteCodice PHP:
$allowSite = array (
'site.com',
'www.site.com'
);
$hostGuest = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
if (in_array($hostGuest, $allowSite, true)) {
echo "vieni da " . $hostGuest
}
Codice PHP:
$allowSite = array (
'http://www.url.com/',
'http://altrourl.com/'
);
foreach ($allowSite as $site) {
if (strpos($_SERVER['HTTP_REFERER'], $site) === 0) {
echo "Visitatore che viene da " . $site;
break;
}
}
molto bellino veramente, grazie. ultima cosa che intendevi con "ricordarti che HTTP_REFERER viene popolata da intestazioni http, e che quindi è un dato di cui non ti devi fidare"
Grazie![]()
HTTP_REFERER è un dato che viene impostato dal browser dell'utente, significa che, tra le altre cose, potresti trovartelo vuoto o manipolato dall'utente
grazie del tuo tempo kurt sei stato chiarissmo e bravissimo![]()