Code, stratégie et ressources web & seo

Afficher l’adresse IP dans une image [Script PHP]

Adresse IP dans une imageScript PHP gratuit pour afficher adresse IP dans une image. Mettre l’adresse IP dans un image peut servir à contourner l’interdiction du JavaScript ou bien l’impossibilité d’éxécuter du code PHP.
C’est plutôt destiné à l’usage d’internautes qui ont besoin d’afficher cette information sur un site ou sur un blog comme dans le monde des jeux vidéo, des serveurs proxy, du VPN par exemple.

Adresse IP dans une image

C’est un script PHP qui permet d’afficher l’adresse IP de l’internaute dans un image. Le script dispose d’une fonction anti-leech. Il faut définir le nom de domaine qui est autorisé à utiliser le script, ce qui évite que des webmasters sans scrupule profite de cette image qui affiche l’adresse IP.
Voilà le résultat :


Le script a la coquetterie d’afficher une image avec un fond transparent. Les couleurs sont facilement personnalisables.

Pourquoi une image pour afficher l’adresse IP ?

C’est un besoin très spécifique, mais il peut arriver d’avoir besoin d’afficher l’adresse IP sur un site ou un plate-forme de blog ou il n’est pas possible d’exécuter un script PHP ou même parfois du JavaScript. Dans ce cas, la solution consiste à utiliser ce code à exécuter ce script sur un site qui peut exécuter du PHP et à linker simplement l’URL de l’image générée sur le blog par exemple.

Code source du script PHP

Comme prérequis, il faut un serveur web avec PHP compilé par la librairie GD.

<?php
// Script Name: Afficher adressse IP dans une image
// Script URI: http://crash-blog.com/afficher-adresse-ip-dans-une-image/
// Description: Afficher adresse IP dans un image en utilisant la librairie GD.
// Author: Crashmaster
// Author URI: http://crash-blog.com/
// License: GPLv2 or later


// configuration
$autorisation_domaine = "crash-blog.com";

// header
header('Content-Type: image/png');

// création de l'image
$im = imagecreatetruecolor(250, 34);

// création couleurs
$color_background = imagecolorallocate($im, 0, 0, 0);
$color_shadow = imagecolorallocate($im, 10, 10, 0);
$color_text = imagecolorallocate($im, 200, 200, 0);

// couleur transparente
imagecolortransparent($im, $color_background);

// rectangle de fond
imagefilledrectangle($im, 0, 0, 300, 34, $color_background);

// vérification du referer
$replace = "/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/";
$referer_url = $_SERVER['HTTP_REFERER'];
$referer_domaine = preg_replace($replace,"$1",$referer_url);

// texte à dessiner
if($referer_domaine == $autorisation_domaine)
	$text = $_SERVER['REMOTE_ADDR'];
	else
	$text = "IP indéterminée";

// ombres au texte
imagestring($im, 5, 1, 1, $text, $color_shadow);

// texte
imagestring($im, 5, 0, 0, $text, $color_text);


// image
imagepng($im);
imagedestroy($im);

?>

Merci de respecter la licence d’utilisation.

Configuration et utilisation du script

Enregistrez ce code source dans un fichier « afficher-adresse-ip.php » sur un serveur capable d’exécuter du code PHP.
Renseignez la variable $autorisation_domaine avec le domaine qui sera autorisé à afficher l’images avec l’adresse IP.

Sur le site autorisé, insérez le code HTML pour lire cette image voyez les variables $color_background, $color_shadow et $color_text dont les trois valeurs numériques sont des valeurs HEXA de type RVB: rouge, vert, bleu. Pour personnaliser les couleurs, modifiez les valeurs entre 0 et 255.

<img src="http://nom-devotre-site.machin/chemin/afficher-adresse-ip.php" />

Amélioration possibles

  • Pour que l’extension de l’image générée soit PNG plutôt que PHP il faut utiliser l’URL rewriting dans un fichier .htaccess placé dans le même répertoire que le script :
  • RewriteEngine On
    RewriteRule ^afficher-adresse-ip.png$ afficher-adresse-ip.php [L]
    
  • Pour permettre l’affichage sur plusieurs sites, il faudra traiter les cas dans un tableau PHP. C’est plus élégant que de multiplier les scripts.
  • Pour utiliser ses propres polices de caractères, personnaliser avec des tailles plus grandes, il est possible de remplacer la fonction imagestring par la fonction imagettftext. Il ne faudra pas oublier d’inclure le fichier .tff de la police de caractère.
  • Bien entendu, on peut inclure d’autres informations si c’est utile. Voyez par exemple du côté des variables prédéfinies $_SERVER pour afficher d’autres choses que l’adresse IP dans une image.

Et pour en apprendre plus sur l’adresse IP visitez ce blog qui traite de l’adresse IP sous toutes ses coutures. Blog Adresse IP :

 

A propos du crash testeur rédacteur de cet article : Crash Master

Crash Master webmaster, codeur, webdesigner, référenceur, testeur de crash SEO sur le crash blog ouvert aux expériences de référencement, aux essais non conformes, aux tentatives black hat, à toutes sortes d'expérimentations parfois perdues d'avance contre le mur blindé de Google. Crash Master à votre service...

5 réponses à Afficher l’adresse IP dans une image [Script PHP]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*