Remplacer un Email par une image

Tous les benchmarks, vos résultats, vos tests.
Vos programmes, vos conseils logiciel
Votre matos, vos problèmes
Répondre
Avatar du membre
Aurelienazerty
Webmaster / Président
Messages : 19080
Enregistré le : septembre 27th, 2002, 9:41 pm

Remplacer un Email par une image

#1

Message par Aurelienazerty » juin 30th, 2005, 4:57 pm

Petite technique bien sympatique pour changer les adresses mails contenues dans un texte par des images:

Code : Tout sélectionner

$texte= preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<img src=\"email2png.php?domaine=\\3&nom=\\2\" alt='E-mail'>", $texte);
Le fichier Email2png.php:

Code : Tout sélectionner

<?php
/***************************************************************************
 *                              email2png.php
 *                            -------------------
 *   begin                : Wed, June 8, 2005
 *
***************************************************************************/

if (isset($_GET["nom"])) $nom = $_GET["nom"];
else $nom = "nobody";
if (isset($_GET["domaine"])) $domaine = $_GET["domaine"];
else $domaine = "team-azerty.com";

$texte = $nom."@".$domaine;

$im = imagecreate(strlen($texte)*9, 16);

// fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 0);

// ajout de la phrase en haut à gauche
imagestring($im, 5, 0, 0, $texte, $textcolor);

// affichage de l'image
header("Content-type: image/png");
imagepng($im);
?>
Enfin un mod pour PhpBB2

Code : Tout sélectionner

## easymod compliant
##############################################################
## MOD Title: Hide Email
## MOD Author: W. Aurélien https://www.team-azerty.com
## MOD Description: This mod replace e-mail addresses in post to spam-bots and anonymous users with Image.
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: 1 Minute
## Files To Edit: /viewtopic.php, /includes/bbcode.php
## Included Files: email2png.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: This mod was tested on phpBB version 2.0.15
## 
##############################################################
## MOD History:
##
##   2005-06-08 - Version 1.0.0
##      - Initial version. Hides e-mail in post message.
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#--[ COPY ]
#

copy email2png.php to includes/email2png.php

#
#-----[ OPEN ]------------------------------------------
#
 /includes/bbcode.php
 
#
#-----[ FIND ]------------------------------------------
#
function make_clickable($text)
 
#
#-----[ REPLACE WITH ]------------------------------------------
#
function make_clickable($text, $viewEmail=true)

#
#-----[ FIND ]------------------------------------------
#
	$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
 
#
#-----[ REPLACE WITH ]------------------------------------------
#

	if ($viewEmail) $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
	else $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<img src=\"./includes/email2png.php?domaine=\\3&nom=\\2\" alt='E-mail'>", $ret);

#
#-----[ OPEN ]------------------------------------------
#
/viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
	$message = make_clickable($message);
 
#
#-----[ REPLACE WITH ]------------------------------------------
#
	$message = make_clickable($message, ( !empty($userdata['user_id']) && ($userdata['user_id'] != ANONYMOUS) ));
	
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
# 
# EoM 
C'est ce qui est utilisé sur ce forum
Aurelienazerty

Image

nightblade
Bernard pivot
Messages : 837
Enregistré le : janvier 15th, 2003, 5:47 pm

#2

Message par nightblade » juin 30th, 2005, 5:07 pm

ça sert à quoi? :oops: (quel est l'utilitée) :heing:

Avatar du membre
Nicolazerty
l'élu
Messages : 3993
Enregistré le : septembre 27th, 2002, 2:59 pm

#3

Message par Nicolazerty » juin 30th, 2005, 5:08 pm

a rien #zinzin
Résistance !

Avatar du membre
Aurelienazerty
Webmaster / Président
Messages : 19080
Enregistré le : septembre 27th, 2002, 9:41 pm

ben si

#4

Message par Aurelienazerty » juin 30th, 2005, 5:10 pm

Ben simplement à éviter que les robots spammeur viennent récupérer l'adresse mail... Là l'Email est caché...
Aurelienazerty

Image

nightblade
Bernard pivot
Messages : 837
Enregistré le : janvier 15th, 2003, 5:47 pm

#5

Message par nightblade » juin 30th, 2005, 5:11 pm

...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:

Avatar du membre
Nicolazerty
l'élu
Messages : 3993
Enregistré le : septembre 27th, 2002, 2:59 pm

Re: ben si

#6

Message par Nicolazerty » juin 30th, 2005, 5:12 pm

Aurelienazerty a écrit :Ben simplement à éviter que les robots spammeur viennent récupérer l'adresse mail... Là l'Email est caché...
ben il est toujours visible dans le mailto nan?(j'aime pas decoder du php)
Résistance !

Avatar du membre
Aurelienazerty
Webmaster / Président
Messages : 19080
Enregistré le : septembre 27th, 2002, 9:41 pm

php c'est propre!

#7

Message par Aurelienazerty » juin 30th, 2005, 5:18 pm

Là en fait c'est pour une adresse mail qui se balade dans un texte brute (ce qui est le cas dans un forum)... Donc pas de mailto... Celui ci est rajouté après...
Aurelienazerty

Image

Avatar du membre
Nicolazerty
l'élu
Messages : 3993
Enregistré le : septembre 27th, 2002, 2:59 pm

#8

Message par Nicolazerty » juin 30th, 2005, 5:25 pm

nightblade a écrit :
...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:
:dubitatif:
c'est pas impossible
Résistance !

nightblade
Bernard pivot
Messages : 837
Enregistré le : janvier 15th, 2003, 5:47 pm

#9

Message par nightblade » juin 30th, 2005, 5:26 pm

ok :sage:
Mais du coup pour utiliser l'adresse on doit la recopier à la main?

Avatar du membre
Aurelienazerty
Webmaster / Président
Messages : 19080
Enregistré le : septembre 27th, 2002, 9:41 pm

non nico, pas toi

#10

Message par Aurelienazerty » juin 30th, 2005, 5:27 pm

nicolazerty a écrit :
nightblade a écrit :
...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:
:dubitatif:
c'est pas impossible
Pourtant c'est pas ton genre nico... #zinzin
Aurelienazerty

Image

Avatar du membre
Aurelienazerty
Webmaster / Président
Messages : 19080
Enregistré le : septembre 27th, 2002, 9:41 pm

yep

#11

Message par Aurelienazerty » juin 30th, 2005, 5:28 pm

nightblade a écrit :ok :sage:
Mais du coup pour utiliser l'adresse on doit la recopier à la main?
Tout à fait, d'où le mod pour phpbb qui ne fait cette modification que pour les utilisateurs anonymes...
Aurelienazerty

Image

Répondre