Empêcher ajout de paramètres bizarres derrière l'URL d'un site

S
Slasher
Guest
Bonjour,
J'ai constaté via les webmaster tools de google qu'il y avait de nombreux référencement de mon site avec des paramètres bizarres derrières.
Cela ressemble à ça : www.mondomaine.fr/?www.redtube.comeqvq

J'imagine qu'il s'agit d'une technique utilisée par des spameurs bien que je n'ai pas bien saisi le but mais j'aimerai savoir comment rediriger automatiquement les appels du genre www.mondomaine.fr/?www.redtube.comeqvq vers www.mondomaine.fr

J'ai fait pas mal de recherche et tests mais impossible d'obtenir une solution qui fonctionne.

J'ai trouvé quelque chose qui semble être une piste dans la doc d'Apache mais je ne comprend pas comment l'appliquer :

"Une dernière note : Vous pouvez même, par une expression de substitution, réécrire une URL contenant des paramètres de requête. Il suffit pour celà d'ajouter le célèbre point d'interrogation ('?') qui sépare habituellement la partie URI de la partie argument de requête lequel sera passé à la variable QUERY_STRING. Si vous voulez effacer une chaîne de requête déjà présente dans l'URL originale, terminez l'expression de substitution par un point d'interrogation seul."

Quelqu'un aurait une idée ?
(et au passage une explication sur le but recherché par les gens qui font ça ?)

Merci d'avance.
 
WRInaute passionné
Salut,

Peut être un truc du style dans le header de ta page d'accueil :
Code:
if("http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"] != "http://".$_SERVER['HTTP_HOST']."/")
{ 
	header("HTTP/1.1 301 Moved Permanently"); 
	header("Location: http://".$_SERVER['HTTP_HOST']."/"); 
	exit; 
}
 
S
Slasher
Guest
C'est une bonne piste, merci :)

Par contre vu comment sont construites mes pages cela va poser problème vu que le header est appelé sur toutes les pages par un include.

Y'a moyen de faire la même chose via le htaccess ?
 
WRInaute accro
Slasher a dit:
C'est une bonne piste, merci :)

Par contre vu comment sont construites mes pages cela va poser problème vu que le header est appelé sur toutes les pages par un include.
Ben c'est encore mieux alors ! t'as qu'a juste lui (à l'include) passer une petit info dans une variable juste avant pour lui dire comment se comporter ...
 
S
Slasher
Guest
Oui c'est pas faux...

Ca fonctionne !
Génial, merci beaucoup :)
 
Nouveau WRInaute
Mettre simplement un canonical sur cette page ne mange pas de pain et peut être efficace. Quelqu'un peut confirmer ou infirmer ?
 
S
Slasher
Guest
Et sinon quelqu'un saurait expliquer pourquoi je retrouve des référencements de mon site avec ces adresses de sites porno passées en paramètre ?

Je ne comprends pas bien l'objectif... Cela aide les sites en question à monter dans les référencements ?
Cela peut il engendrer un impact négatif sur mon site ?

(J'avais déjà des doutes depuis quelque temps car dans mes stats je voyais des gens qui tombaient sur mon site en tapant des mots clefs de sites porno dans les moteurs de recherche...)
 
WRInaute occasionnel
Slasher a dit:
Bonjour,
J'ai constaté via les webmaster tools de google qu'il y avait de nombreux référencement de mon site avec des paramètres bizarres derrières.
Cela ressemble à ça : www.mondomaine.fr/?www.redtube.comeqvq

J'imagine qu'il s'agit d'une technique utilisée par des spameurs bien que je n'ai pas bien saisi le but mais j'aimerai savoir comment rediriger automatiquement les appels du genre www.mondomaine.fr/?www.redtube.comeqvq vers www.mondomaine.fr

J'ai fait pas mal de recherche et tests mais impossible d'obtenir une solution qui fonctionne.

J'ai trouvé quelque chose qui semble être une piste dans la doc d'Apache mais je ne comprend pas comment l'appliquer :

"Une dernière note : Vous pouvez même, par une expression de substitution, réécrire une URL contenant des paramètres de requête. Il suffit pour celà d'ajouter le célèbre point d'interrogation ('?') qui sépare habituellement la partie URI de la partie argument de requête lequel sera passé à la variable QUERY_STRING. Si vous voulez effacer une chaîne de requête déjà présente dans l'URL originale, terminez l'expression de substitution par un point d'interrogation seul."

Quelqu'un aurait une idée ?
(et au passage une explication sur le but recherché par les gens qui font ça ?)

Merci d'avance.
A inclure au début de la page
Code:
$regle='^\/w{3}\.';
if (preg_match('#'.$regle.'#i',$_SERVER['REQUEST_URI']))
{
header("HTTP/1.1 301 Moved Permanently");
header ('location: http://'.$_SERVER['HTTP_HOST'].'/');
header("Connection: close");
die();
exit;
}
 
Discussions similaires
Haut