انجمن‌های فارس وب

نسخه کامل: سه روش برای مخفی سازی ایمیل از دست روبوت های ایمیل یاب
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
احتمالاً شما هم با مشکل ایمیل های ناخواسته دست و پنجه نرم میکنید. حتماً میدانید که روبوت های ایمیل یابی وجود دارند که صفحات وب را کاوش میکنند و از درون کدهای html سایت شما، رشته های ایمیل را خوانده و استخراج میکنند و به آنها ایمیلهای تبلیغاتی ارسال میکنند.
حتماً شما هم در قسمت 'تماس با ما' سایتتان، ایمیل آدرستان را به صورت یک لینک قرار داده اید. اگر به همین سادگی اینکار را کرده باشید مطمئن باشید کار روبوت های ایمیل یاب را بسیار ساده کرده اید. مخصوصاً اگر ایمیل آدرس را بعد از متد :mailto بکار برده باشید.
پس راه حل چیست؟
در این جا به ارائه سه راه حل خواهیم پرداخت.

راه حل اول: قالب شکنی
حداقل یک کارکتر، سپس کارکتر @، مجدداً حداقل یک کارکتر، علامت نقطه و مجدداً حداقل یک کارکتر! این میتواند قالب یک ایمیل معمولی باشد. همان طور که من و شما این مسئله را میدانیم، روبوت ها نیز به این مسئله آگاه هستند. پس آنها در ابتدا به دنبال اینگونه قالب های ثابت میگردند. کاری که در اینجا مفید به نظر میرسد قالب شکنی است. یعنی بجای اینکه ایمیل خود را در صفحه وب به صورت مثلاً info@yoursite.com بکار ببریم، آن را بصورت info[at]yoursite[dot].com یا هر قالب دیگری که کار روبوت ها را مشکل خواهد ساخت بکار ببریم. حتی میتوان بین کارکترهای ایمیل از فاصله بدین صورت i n f o @ y o u r s i t e . c o m بکار برد که بی تأثیر نخواهد بود.
این روش دیر یا زود توسط روبوت ها قابل کشف است! و شاید از دید روبوتهای کوچک مخفی بماند اما روبوت های هوشمند و بزرگی نیز هستند که اینگونه قالب شکنی ها را خوب میشناسند.

راه حل دوم: استفاده از تصویر
راه حل دیگری که به نظر میرسد، استفاده از تصویر بجای متن است. برای این منظور کافیست توسط نرم افزارهای ویرایش تصویر مانند photoshop ایمیل خود را به صورت تصویر تبدیل کرده و آن تصویر را در صفحه وب استفاده کنید. حتی میتوان از برنامه های سمت سرور جهت تبدیل ایمیل به تصویر و تولید خودکار تصاویر استفاده نمود. این کار زمانی کاربرد بیشتری پیدا میکند که لازم باشد ایمیل از بانک اطلاعاتی خوانده شود و در صفحه وب نمایش داده شود. در این حالت استفاده از یک قطعه کد به زبان PHP میتواند مفید باشد. برای اینکار کافیست ایمیل را از بانک اطلاعاتی و یا هر منبع دیگری استخراج کرده و آن را توسط قطعه کد PHP که در زیر آمده است به تصویر تبدیل کنید و تصویر حاصل را به خروجی ارسال کنید.

<?php
header ("Content-type: image/png");
$string = "spam@mvoncken.nl";
$font = 4;
$width = ImageFontWidth($font) * strlen($string);
$height = ImageFontHeight($font);
$im = @imagecreate ($width,$height);
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0, 0,0);
imagestring ($im, $font, 0, 0, $string, $text_color);
imagepng ($im);
?>

در صورتی که تصاویر تولید شده را با زمینه یا رنگهای متفاوت ایجاد کنید و یا از افکت هایی جهت به هم ریختگی نوشته روی تصویر استفاده کنید، ضریب اطمینان کار بالا تر رفته و میتوان بیشتر به پنهان سازی ایمیل از دید روبوت ها اطمینان داشت.
مشکلی که این روش دارد این است که به دلیل استفاده از تصویر انعطاف پذیری در طراحی پایین آمده و دست طراح در استفاده از ایمیل به صورت یک تصویر بسته تر است. همچنین این احتمال وجود دارد که کاربر نمایش تصاویر توسط مرورگر خود را خاموش کرده باشد که این موجب نمایش داده نشدن ایمیل خواهد شد.
راه حل سوم: استفاده از جاوا اسکریپت
obfuscate به طور خلاصه به معنی به هم ریختگی کدها می باشد. اینکار خوانایی کدها را بسیار مشکل میکند اما در نتیجه و خروجی کد تأثیری ندارد. در این روش بجای استفاده مستقیم ایمیل در صفحه وب، با کمک گرفتن از جاوا اسکریپت آن را به هم میریزیم تا تنها توسط همان کد جاوا قابل نمایش در خروجی باشد. برای اینکار برنامه های بسیاری در اینترنت وجود دارد که یکی از بهترین برنامه هایی که برای اینکار در اینترنت یافتم برنامه [ جهت مشاهده لينك عضو شويد ! ] محصول سایت [ جهت مشاهده لينك عضو شويد ! ] می باشد. این برنامه تحت وب است. با مراجعه به سایت با فرمی مواجه میشوید که جزئیات لینک ایمیل خود را دریافت کرده و به شما کد جاوا اسکریپتی تحویل خواهد داد که سر در آوردن از آن تقریباً ممکن نیست. این کد را براحتی در صفحه وب خود میتوانید استفاده نمائید. نمونه ای از کد تولید شده توسط این نرم افزار بدین صورت می باشد:

<script type="text/javascript">
/* <![CDATA[ */
function hivelogic_enkoder(){var kode=
"kode=\")''(nioj.)(esrever.)''(tilps.edok=edok;\\\"kode=\\\"\\\\oked\\\\\\"+
"\\\\\"\\\\=rnhg%@,>**,=04wkqjohh1rg+nDwdufkh1rgBnwkqjohh 1rg?n+l{.h@rg\\\\"+
"\\\\\\\\\\\\n00,0+lDwdufkh1rg.n4,l.w+uDkd1fghnr.@~{5,.@>l4,k0jwhq1oghnr?+>"+
"l@3+lru>i**{@_>@%g{nh,r0\\\\\\\\\\\\\\\\00f+hgrFudkFprui1jqluwV@.{>;54@.f,"+
"3?f+il>60,l+wDhgrFudkf1hgrn@f~,..l>kwjqho1hgrn?l>3@l+uri>**@{>_A_%(_g/BDo5"+
"sr&gsK1\\\\\\\\\\\\\\\\77D(brogsK1\\\\\\\\\\\\\\\\77(&Csrbok&zbzo(oxg44h}t"+
"C}i}pz{kEhuy4sziyk{o\\\\\\\\\\\\\\\\x71u7Fulto@uzrogs(bClkxn&gB(.kzox}4ztk"+
"s{iuj_@_%g_nh_r@%ghnr>%rnhgn@gr1hsvlo+w**1,huhyvu+h1,rmql*+ ,*;\\\\\\\\\\\""+
"\\\\=x''f;roi(0=i;k<do.eelgnhti;++{)=cokedc.ahCrdoAe(t)i3-i;(f<c)0+c1=82x;"+
"=+tSirgnf.orCmahCrdo(e)ck}do=ex\\\"\\\\;x='';for(i=0;i<(kode.length-1);i+="+
"2){x+=kode.charAt(i+1)+kode.charAt(i)}kode=x+(i<kode.length?kode.charAt(ko"+
"de.length-1):'');\\\"=edok\";kode=kode.split('').reverse().join('')"
;var i,c,x;while(eval(kode));}hivelogic_enkod er();
/* ]]> */
</script>

در صورتی که ایمیل شما ثابت می باشد و از منبع بانک اطلاعاتی خاصی آن را استخراج نمیکنید، بنده این روش را پیشنهاد میکنم اما چنانچه ایمیل از منبعی خاصی استخراج میشود باید به دنبال کد سمت سروری که این کد جاوا اسکریپت را تولید میکند بگردید تا ایمیل را از آن فیلتر عبور دهید.

منبع: [ جهت مشاهده لينك عضو شويد ! ]

این واقعا به درد همه می خوره
مثلا برای من کلی E-mail تبلیغاتی میاد که فکر می کنم بخاطر رعایت نکردن همچین نکاتی است
مرسی :)
تشکر از درج مقاله.

در ارتباط با روش دوم مقاله بالا امروز با یه مقاله جالب برخوردم در اینجا:
[ جهت مشاهده لينك عضو شويد ! ]
در این روش، توسط جاوا اسکریپت و به کمک php کلیه متون درون تگ h1 با تصویر معادل آن جایگزین میشود که خیلی جالب است.

یه نکته دیگه در مورد روش سوم مقاله بالا اینکه ، اگر از smart استفاده میکنید. به صورت پیشفرض کدهای جالبی برای مخفی سازی ایمیل در نظر گرفته شده، مثلا توسط این کد:
{mailto address="me@example.com" encode="javascript"}
این خروجی ارسال میشه:
<script type="text/javascript" language="javascript">
eval(unescape('%64%6f% ... snipped ...%61%3e%27%29%3b'))
</script>
که نهایتاً کاربر در بروزر ایمیل را مشاهده میکند.
منبع: [ جهت مشاهده لينك عضو شويد ! ]

نبی لبخند

meandyou نوشته است:
این واقعا به درد همه می خوره
مثلا برای من کلی E-mail تبلیغاتی میاد که فکر می کنم بخاطر رعایت نکردن همچین نکاتی است
مرسی :)


دقیقاً همینطوره، چون رباط ها علم غیب ندارند که ایمیل شما را حدس بزنند و حتما به همین خاطره که در جایی و در سایتی ایمیل شما عیناً نوشته شده است.
البته در مورد ایمیل های متداول مثل info, support, admin, ... داستان فرق میکند. به دلیل اینکه ایمیل های اینچنینی مرسوم هستند. رباط ها میتوانند آنها را حدس بزنند یعنی با یک کاوش ساده و پیدا کردن وب سایت شما با اضافه کردن کلماتی که ذکر شده به نام سایت شما، ایمیل ها را حدس میزنند. اما در صورتی که از نام شخصی خودتان استفاده کنید دیگه نباید نگران چیزی باشید.

تشکر
نبیلبخند

به انجمن ها خوش اومدی نبی عزیز .

خیلی خوشحالم که شما رو اینجا می بینم . امیدوارم این انجمن اونقدر کشش داشته باشه که شما رو بیشتر جذب خودش بکنه .

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