تبدیل آدرس ایمیل به عکس با استفاده از php

September 20, 2009
چنانچه اطلاع دارید اسپایدرهایی وجود دارد که در وب رها می شوند و ایمیل های موجود را بر می دارند و برای آنها اسپم ارسال می نمایند.
جدیدا اسپایدرها انقدر پیشرفت کرده‌اند که استفاده از آدرس‌هایی مانند آدرس‌های زیر دیگر فایده نداره:

بطور مثال:
email (at) email (dot) com
email [at] email [.] com

همانطور که می‌دانید راه‌های مختلفی برای مقابله با این مشکل وجود دارد و یکی از آن‌ها تبدیل آدرس ایمیل به عکس می‌باشد.

اول از همه صفحه‌ای با نام mail.php ایجاد نمایید و محتویات زیر را در آن قرار ‌دهید و در کنار صفحات دیگر ذخیره نمایید.

<?php
if(!isset($_GET['mail']))
{
die("No mail here");
}
header ("Content-type: image/png");
$textToConvert = $_GET['mail'];
$fontsize = 4;
$width = ImageFontWidth($fontsize) * strlen($textToConvert);
$height = ImageFontHeight($fontsize);
$image = @imagecreate ($width,$height);
$background_color = imagecolorallocate ($image, 255, 255, 255);
$mail_color = imagecolorallocate ($image, 0, 0, 0);
imagestring ($image, $fontsize, 0, 0, $textToConvert, $mail_color);
imagepng ($image);
?>
سپس در هر جایی که می خواهید ایمیل شما به صورت عکس قرار گیرد از دستور زیر استفاده نمایید:
<img src="mail.php?mail=email@email.com">
توجه :
به جای email@email.com آدرس ایمیل خود را قرار دهید.
فرمت صفحه‌ی شما باید حتما php باشد.

3 comments

saleh
September 20, 2009, 9:07 PM
به به مبین عزیز
خوشحالم که باز می نویسی
javad afzalan
September 21, 2009, 5:31 PM
احتمالا تا چند وقت دیگه هم اسپایدر هایی میاد که image proccessing میکنه و email رو از تو عکس میخونه .
اون موقع دیگه فکر کنم باید email رو به طور نا خوانا به عکس تبدیل کرد
=)
Night2
December 16, 2009, 9:05 PM
دوست عزیز، برنامه های Crawling که در صفحات وب به دنبال آدرس های ایمیل هستند، کد صفحات رو چک میکنند نه اینکه مثل انسان ها محتویات صفحه رو ببیند، شما همچنان دارید یک آدرس ایمیل رو توی کد صفحه مینویسید، وقتی مینویسید: mail.php?mail=email@email.com یک pattern که توسط اون ایمیل ها پیدا میشن، مثل این: /[A-z0-9_]+([_\\.-][A-z0-9_]+)*@([A-z0-9_]+([\.-][A-z0-9_]+)*)+\\.[A-z]{2,4}/i به راحتی این آدرس رو از کد صفحه پیدا میکنه، یک راه ساده اینه که از شیوه های Encoding برای این کار استفاده بشه که اینم به راحتی قابل کشفه، تنها راهی که پیدا کردن ایمیل آدرس ها رو فعلا غیر ممکن میکنه استفاده از دیتبایس و ID برای ایمیل هاست که فایل نمایش php باید با استفاده از ID فراخوانی بشه و آدرس ایمیل رو برای نمایش از دیتابیس استخراج کنه ...
Detail