При разработке доски объявлений я столкнулся с необходимостью обеспечить безопасность адресов электронной почты.
Для этого решил выводить электронные адреса в виде картинок, а mailto: реализовать с помощью javascript.
Вот так выглядит вывод адреса почты в коде страницы:
e-mail: <a href=\"\" onclick=\"this.href='mailt'+'o:kdg'+'@aaanet.ru'\"><img src=\"mail.php?m1=kdg&m2=aaanet.ru\"></a>';
А это код, который формирует изображение с e-mail-ом:
<?php
// две части адреса
$m1=@$_GET['m1'];
$m2=@$_GET['m2'];
$m=$m1.'@'.$m2;
// размер встроенного шрифта 1..5
if(!isset($_GET['s']))$s=4;
else{
$s=intval(@$_GET['s']);
if($s<=0) $s=1;
if($s>5)$s=5;
}
// коэффициенты подобраны эмпирическим путем
$im = imagecreate(($s+3.2)*1.2*strlen($m), ($s+3)*2.4);
// белый фон
imagecolorallocate($im, 255, 255, 255);
// синий текст
$textcolor = imagecolorallocate($im, 0, 0, 255);
imagestring($im, $s, 1, 0, $m, $textcolor);
header("Content-type: image/png");
imagepng($im);
?>Скопировать в буфер
Код, который формирует две переменные из которых будет собираться адрес электроннй почты:
<?php
if($row['mail']){ list($m1,$m2)=explode("@", $row['mail']);
echo '<br>e-mail: <a href="" onclick="this.href=\'mailt\'+\'o:'.$m1.'\'+\'@\'+\''.$m2.'\'">
<img src="mail.php?m1='.$m1.'&m2='.$m2.'"></a>';}
?>Скопировать в буфер
© Copyright 2008-2012 by KDG