Page 1 sur 1

Signature dynamique

Posté : 04 sept. 2006, 20:00
par Enky
Salut,
Est-ce vous connaissez le code source qui permet d'afficher une image avec l'adresse IP et le navigateur :

Image

Posté : 04 sept. 2006, 21:35
par Cyrano
Le code source n'est pas bien compliqué à produire : regarde ton phpinfo() et cherche les variables d'environnement, tu vas découvrir plein d'informations pratiques ;)

Posté : 04 sept. 2006, 23:14
par ouckileou
Sauf que là ce sont les informations du client, donc celui qui voit l'image ;)

D'ailleurs je suis toujours super content de savoir quel FAI j'ai et quel navigateur j'utilise, j'oublie tout le temps :lol:

Posté : 05 sept. 2006, 02:11
par finipe
Et puis ça occupe en plus, on peut y corriger les fautes d'orthographe :D

Posté : 05 sept. 2006, 03:17
par JazzFinder
Voici un exemple-type, je m'étais servi il y a un certain temps, principalement pour m'amuser avec la librairie GD. À défaut de marcher à 100%, au moins il t'indiquera le fonctionnement de ce type de scripts.

Procédure:
1- Sauvegarde ce fichier PHP en .png. Exemple: signature.png
2- Crée une image qui servira de fond au texte. Exemple: fond.png
3- Mets les 2 fichiers dans un répertoire, en local ou sur ton serveur, sans aucun autre ficher présent, juste ces deux-là.
4- Assure-toi d'avoir un .htaccess qui contienne:

Code : Tout sélectionner

<Files *.png> ForceType application/x-httpd-php </Files>
5- Pointe à l'adresse suivante: Exécute ton fichier signature.png
<?php
// Envoie un header au navigateur qu'il s'agit d'un fichier-image, et non d'un fichier PHP.
header("Content-type: image/png");

/**
// Utilise les éléments suivants sit tu souhaites générer un texte aléatoirement. 5 dans ce cas-ci
$number = rand(1,5);

if($number==1)$string2 = "Texte 1 san phote d'orthograffe";
if($number==2)$string2 = "Texte 2: Vive le Québec libre!";
if($number==3)$string2 = "Texte 3: Allez les Verts!";
if($number==4)$string2 = "Texte 4: PHP Powaaa!";
if($number==5)$string2 = "Texte 5: PHPFrance sucks! :wink: ";
*/

// Pour obtenir le nom du host.
$host = ($_SERVER['HTTP_HOST']);

// Pour obtenir l'adresse IP si derrière un proxy.
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}

else {
// Obtenir l'IP normalement.
$ip = ($_SERVER['REMOTE_ADDR']);
}

// Obtenir le navigateur et la version de l'OS.
$browser = ($_SERVER['HTTP_USER_AGENT']);

// Indiquer ici l'URL de l'image de fond, en local ou sur le web
$im = imagecreatefrompng("http://www.ton_site.com/fond.png");

/*
Définir la couleur du texte au format RGB.
On peut définir une couleur différente pour chaque ligne en changeant
cette variable pour quelque chose du genre "$color1 = imagecolorallocate($im, 0, 0, 0);" et/ou
$color2 = imagecolorallocate($im, 255, 0, 0);".
*/
$color = imagecolorallocate($im, 0, 0, 0);

// Choisir les axes de l'image en pixels.
$px=125;
$py=40;
$qx=130;
$qy=50;

/*
Si tu optes pour des textes aléatoires
$tx=170;
$ty=30;
*/

// Afficher les textes selon l'ensemble des variables. Inclure $host si souhaité
imagestring($im, 3, $px, $py, "Your IP is $ip", $color);
imagestring($im, 2, $qx, $qy+12, $browser, $color);

/*
Pour les textes aléatoires
imagestring($im, 2, $tx, $ty+12, $string2, $color);
*/

// Afficher l'image PNG, et ouala!!
imagepng($im);
imagedestroy($im);
?>

Posté : 05 sept. 2006, 09:34
par albat
/* (...)
if($number==2)$string2 = "Texte 2: Vive le Québec libre!";
if($number==3)$string2 = "Texte 3: Allez les Verts!";
*/
<mode _c'est_pas_moi_qui_ai_commencé_à_pourrir_ce_sujet>
Axiome :
C'est par le choix de ses exemples que l'on voit la qualité du développeur. :pouce: :mrgreen:
</mode _c'est_pas_moi_qui_ai_commencé_à_pourrir_ce_sujet>

Posté : 05 sept. 2006, 10:04
par JazzFinder
/* (...)
if($number==2)$string2 = "Texte 2: Vive le Québec libre!";
if($number==3)$string2 = "Texte 3: Allez les Verts!";
*/
<mode _c'est_pas_moi_qui_ai_commencé_à_pourrir_ce_sujet>
Axiome :
C'est par le choix de ses exemples que l'on voit la qualité du développeur. :pouce: :mrgreen:
</mode _c'est_pas_moi_qui_ai_commencé_à_pourrir_ce_sujet>
Très flatteur, merci! Mais non, je ne suis pas un développeur, juste un bidouilleur... du dimanche seulement. :wink:
Et mes commentaires dans mes codes prennent généralement 10 à 20 fois plus de place que le code lui-même! Ça m'amuse même, faire de la prose dans mes commentaires de codage, comme ça, j'ai réellement l'impression de coder.
Je commente même une balise du type <?php

Alors, on le pourrit davantage ce sujet? :wink: