2011-09-08 3 views

Répondre

7
if (false !== stripos($_SERVER['HTTP_REFERER'], "www.someexample.com")){ 
    //do stuff 
} 
+1

Fait que insensible à la casse pour le rendre un peu plus fiable. – ceejayoz

+3

HTTP_REFERER = www.someotherexample.com?param=www.someexample.com =) – Fivell

+0

@ceejayoz: oui, merci – genesis

0

Si vous utilisez Apache, effectuez simplement une preg_match $ _SERVER [ 'HTTP_REFERER']

2
if(stripos($_server['HTTP_REFERER'], 'someexample.com') !== FALSE) { 
    // The link is from someexample.com (might not have "www" in it) 
} 

Note: Ça va aussi correspondre http://www.andsomeexample.com. Si vous voulez éviter cela, utilisez parse_url:

if(parse_url($_SERVER['HTTP_REFERER'])['host'] == 'someexample.com'){ 
    // You're good to go... 
} 
+0

Échoue si (pour une raison quelconque) la chaîne est au début du champ référant - stripos'll retournera 0 et cela va évaluer à false. –

+0

HTTP_REFERER = www.someotherexample.com?param=www.someexample.com =) – Fivell

+0

cela déclenchera une erreur d'analyse! – genesis

0
echo parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST); 
Questions connexes