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 de l’utilisateur
Aurelienazerty
Webmaster / Président
Messages : 19950
Inscription : septembre 27, 2002, 9:41 pm

Remplacer un Email par une image

#1

Message par Aurelienazerty » juin 30, 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
Inscription : janvier 15, 2003, 5:47 pm

#2

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

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

Avatar de l’utilisateur
Nicolazerty
l'élu
Messages : 4007
Inscription : septembre 27, 2002, 2:59 pm

#3

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

a rien #zinzin
Résistance !

Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
Messages : 19950
Inscription : septembre 27, 2002, 9:41 pm

ben si

#4

Message par Aurelienazerty » juin 30, 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
Inscription : janvier 15, 2003, 5:47 pm

#5

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

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

Avatar de l’utilisateur
Nicolazerty
l'élu
Messages : 4007
Inscription : septembre 27, 2002, 2:59 pm

Re: ben si

#6

Message par Nicolazerty » juin 30, 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 de l’utilisateur
Aurelienazerty
Webmaster / Président
Messages : 19950
Inscription : septembre 27, 2002, 9:41 pm

php c'est propre!

#7

Message par Aurelienazerty » juin 30, 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 de l’utilisateur
Nicolazerty
l'élu
Messages : 4007
Inscription : septembre 27, 2002, 2:59 pm

#8

Message par Nicolazerty » juin 30, 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
Inscription : janvier 15, 2003, 5:47 pm

#9

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

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

Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
Messages : 19950
Inscription : septembre 27, 2002, 9:41 pm

non nico, pas toi

#10

Message par Aurelienazerty » juin 30, 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 de l’utilisateur
Aurelienazerty
Webmaster / Président
Messages : 19950
Inscription : septembre 27, 2002, 9:41 pm

yep

#11

Message par Aurelienazerty » juin 30, 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