Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34

    visualizzare pagina ad utenti che provengono da un determinato sito

    Salve signori vorrei visualizzare una pagina ad utenti che provengono da un determinato sito
    ho provato cosi, ma non va

    codice:
    <?  
    if ($_SERVER[‘HTTP_REFERER’] == "http://www.sito.it"){  
    echo SI ; 
    } 
    else  {  
    echo NO ;  
    }   
    ?>
    idee? grazie

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    per il tuo scopo sarebbe più corretto utilizzarlo in questo modo:
    Codice PHP:
    if (strpos($_SERVER['HTTP_REFERER'], "http://www.url.com/") === 0) {
       echo 
    "Visitatore che viene da url.com";

    non c'è bisogno di ricordarti che HTTP_REFERER viene popolata da intestazioni http, e che quindi è un dato di cui non ti devi fidare

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34
    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

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    potresti farlo con le espressioni regolarli, ma è carino farlo anche in questo modo:

    Codice PHP:
    $allowSite = array (
      
    'site.com',
      
    'www.site.com'
    );

    $hostGuest parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);

    if (
    in_array($hostGuest$allowSitetrue)) {
       echo 
    "vieni da " $hostGuest

    oppure molto più banalmente
    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;
        }


  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34
    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

  6. #6
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    HTTP_REFERER è un dato che viene impostato dal browser dell'utente, significa che, tra le altre cose, potresti trovartelo vuoto o manipolato dall'utente

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34
    grazie del tuo tempo kurt sei stato chiarissmo e bravissimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.