Aller au contenu

mars073
 Share

Recommended Posts

Bonjour à tous,

Je vais essayer de m'habituer à la nouvelle interface et vous faire un jolie tuto, non je ne vais pas expliquer comment faire un héébergeur d'image je ferais un autre tuto plus aboutis sur ça si vous voulez, mais bon là on va parler de l'hébergement avec par exemple les images payantes que l'on trouve sur google toute belle et quand on clique dessus on se retrouve avec un gros copyright qui rend l'image inexploitable... ou quand on veut ouvrir une image dans un onglet et que l'on est rediriger sans vers la page du site proposant l'image.

Mes exemples régénèrent les images donc peuvent être gourmands si les images sont grandes et il existe peut-être des façons plus optimisées mais bon je programme proprement comme un porc :hap:

On va donc réécrire l'adresse et gérer son affichage livre à vous d'utiliser une base de données (ex:sql) et vous ne communiquez qu'une référence ou un vrai nom dans l'url. Trop de blabla pas assez de CODE! :E

Encore un petit truc, Google a son propre User-Agent (chaine qui donne des informations que vous utilisez Firefox sur Windows10 64-bit et qu'il est configurer en français) nous alors donc nous servir de cela pour détecter si c'est un moteur de recherche ou un simple utilisateur qui regard, notez qu'il est possible de trafiquer son User-Agent donc il y a mieux comme sécurité en cherchant la liste des ips des serveurs par exemple.
Les User-Agents:

GoogleBot: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
GoogleBot-Image: Mozilla/5.0 (compatible; Googlebot-Image/1.0; +http://www.google.com/bot.html)											
YahooSlurp:  Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
MsnBot: msnbot/1.1 (+http://search.msn.com/msnbot.htm)



On va faire un test avec une expression régulière en php pour voir si ça ressemble à un bot Google:

header("Content-Type: image/png"); // on dit que c'est une image est pas du php/html 
$img = imagecreatefrompng("images/tructresinteressant.png"); // image à protéger
$cp = image createfrompng("image/copyright.png"); // copyright de protection à appliquer

if (!preg_match("~Googlebot\-[a-zA-Z]+(/\d+(\.\d+)?)?~", $_SERVER['HTTP_USER_AGENT']))
	imagesettite($img, $cp);  // on applique un motif avec le copyright

imagepng($img);
imagedestroy($cp);


Si vous voulez que la personne soit redirigée quand elle va sur le lien de l'image c'est très simple:

			// on précise qu'il s'aigt d'une image png et non d'une page html (php compilé)
			header("Content-Type: image/png");
			//vous charger l'image avec
			$im = imagecreatefrompng("monimage.png");
			imagepng($im);
			imagedestroy($im);
			// ou plus cours et peut-être moins lourd mais risqué au niveau de l'encodage:
			echo file_get_contents("monimage.png");						
				// et enfin la redirection						
				header("Refresh: 0; url=/index.php");




Maintenant on gère le débit, cette option est plus intéressante pour des plus gros fichiers car les images sont jamais très lourdes. :/

			// dans notre exemple on aura un débit de 10Ko/s (très lent)						
				$handle = @fopen("monimage.png");						
				if ($handle) {						
				    while (($buffer = fgets($handle, 1024)) !== false) { // 1024 => nombre d'octet dans le buffer que l'on écrit						
				        echo $buffer;						
				        usleep(100); // 10 => nombre de milliseconde entre chaque envoie, 1000 = 1seconde						
				    }						
				}




[En cours de rédaction.... des idées? :)]

PS: j'ai tapé le code directement sur le fofo donc s'il a y des fautes prévenez moi^^'



Modifié par mars073
retiré un espace
Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Vous avez collé du contenu avec mise en forme.   Supprimer la mise en forme

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement
 Share

×
×
  • Créer...