Google subira t'il mes dispositifs anti-aspirateurs ?

  • Auteur de la discussion Mangazix
  • Date de début
M
Mangazix
Guest
J'ai eut pas mal de probleme avec des aspirateurs ces derniers temps.
Ils ont meme mis ma base de donnée a terre a cause de la surcharge.

Donc, pour parrer a ce probleme, j'ai crée un fichiers ban.php qui genere une image, et qui stock l'ip et l'heure de visite dans la base de donnée.
Grace a l'url rewrinting, je transforme le fichier en jpg et on y voit que du feu.

J'ai mis dans mon site pas mal de lien depuis un gif transparent en 1x1 vers une page affichant l'image qui génere un ban de l'individu, ce qui fait qu'un aspirateur risquerai de se faire banir des qu'il touchera a certains liens.

Neamoins, je me demande ce qu'il en est pour google.
Google risque t'il de charger l'image jpg et d'etre affecté ?
 
WRInaute impliqué
Je pense que oui, tu ne peux pas modifier ton script pour ne pas prendre en compte les IP de Google? Sinon il existe des systèmes de configuration htaccess (que j'utilise) qui sont assez efficaces je trouve et qui n'empèchent pas Google de visiter le site.
 
M
Mangazix
Guest
Bah, a la base, j'avais déja configuré mon htaccess pour banir les aspirateur a partir de l' HTTP_USER_AGENT.
Mais j'ai pu remarquer que certains aspirateurs le masquait en se fesant passer pour un navigateur conventionel. ( quadsucker.com par exemple )

Je vais décrire la manipulation que j'ai fait pour etre plus précis :
Code:
	function banuser($ip){
		$this->query("SELECT * FROM banlst WHERE ip='$ip'");
		$this->next_record();
		if($this->num_rows()>0){
			$this->query("UPDATE banlst SET bantime=".time()." WHERE ip='$ip'");
		}
		else{
			$this->query("INSERT INTO banlst(ip,bantime) VALUES('$ip',".time().")");
		}
	}

	function timeban($ip){
		$timeban=0;
		$this->query("SELECT * FROM banlst WHERE ip='$ip'");
		$this->next_record();
		if($this->num_rows()>0){
			$timeban=$this->f("bantime");
		}
		return $timeban;
	}

	function verifban($ip,$timeban){
		$ban=FALSE;
		$lastban=$this->timeban($ip);
		$tempo=$lastban+$timeban;
		if($tempo>time()){
			$ban=TRUE;
		}
		return $ban;
	}

	function dumpimageban(){
		$this->banuser($this->getip());
		header("Content-Type: image/jpeg");
		$img_in = imagecreatefromjpeg("image.jpg");
		$t = imagejpeg($img_in);
		echo $t;
	}
le fichier ban.jpg correspondant au fichier ban.php qui fait appel a la méthode dumpimageban().
Et les pages a proteger font appel a verifban pour vérifier si l'utilisateur est bani.
 
WRInaute discret
Arf ça marchera pas ton truc ! Tout ce que tu risque de bannir c'est tes visiteurs :!:

Pourquoi ? parce que tout bot/spider va visiter tes pages une à une, et s'il charge les images, ne chargera ton ban.php qu'une seule fois (pourquoi le rechargerait-il à chaque page vue, vu qu'il vient à peine de l'indexer ?)

Alors deux choses:
  1. Pas besoin d'url rewriting pour ça, un .htaccess peut spécifier que les fichier jpg (par exemple) soient interprétés comme des fichiers php (par exemple aussi). J'ai fait ça sur un de mes sites, pour savoir où ma bannière circulait, si ça t'intéresse... Je crois même que si tu as des vrais jpg, ça ne pose pas de problème (pas de balises <?php ?> dans une image ;-))
  2. Tu devrais simplement inclure ton ban.php dans toutes tes pages et suivre la solution deweert ;-)
 
M
Mangazix
Guest
Bah, la j'ai des liens qui menent vers une page affichant le ban.jpg un peu partout.
Des que un aspirateur charge suis le lien et charge l'image, l'utilisateur se trouve bani pour deux heures.
Mais sinon, a la limite, ce que je peut faire c'est de faire charger un fichier du style ban****.jpg ou le nombre est généré aléatoirement.
Comme ca, si il reprend le téléchargement, il risque de re-telecharger a nouveau le fichier et de tomber dans le panneau.
Pour les visiteurs, visiblement, pas de soucis, c'est impossible de cliquer sur ce lien sans aspirateur.
Par contre, si google indexe la page, ca peut me poser probleme.
Donc je vais farfouiller un peu sur le forum pour trouver le moyen d'empecher l'indexation.
 
WRInaute occasionnel
Une ligne dans le robot.txt devrait suffire pour empecher l'indexation de la page, non ?
 
Discussions similaires
Haut