J'ai placé un script pour bloquer l'acces à mon site pour des visiteurs ayant fait une recherche sur une requete précise sur google .
Ce script fonctionne mais parfois pour des requetes avec plusieurs mots il déclanche le blocage alors qu'il ne devrait pas.
Pouvez vous m'aider svp...
CODE
// Regexp pour matcher http://www.google.xxx/ ou http://www.google.co.xx/
$google_str = '/^http:\/\/www.google\.([a-z]{2,3})|(co\.[a-z]{2})\//i';
// Si le visiteur viens d'une page google
if ( preg_match( $google_str,$_SERVER['HTTP_REFERER']) ) {
// on récupère le QUERY_STRING du REFERER
$url_array = parse_url($_SERVER['HTTP_REFERER']);
parse_str($url_array['query'],$variables);
// les mots cl se trouvent dans la variable 'q'
$keywords = urldecode($variables['q']);
$pos = strpos($keywords, "test",0);
if ($pos >= 0)
{
Header("Location: http://www.monsite.com/no.html");
exit;
}
}
$google_str = '/^http:\/\/www.google\.([a-z]{2,3})|(co\.[a-z]{2})\//i';
// Si le visiteur viens d'une page google
if ( preg_match( $google_str,$_SERVER['HTTP_REFERER']) ) {
// on récupère le QUERY_STRING du REFERER
$url_array = parse_url($_SERVER['HTTP_REFERER']);
parse_str($url_array['query'],$variables);
// les mots cl se trouvent dans la variable 'q'
$keywords = urldecode($variables['q']);
$pos = strpos($keywords, "test",0);
if ($pos >= 0)
{
Header("Location: http://www.monsite.com/no.html");
exit;
}
}