صفحه نخست
  • درباره من
  • نبی کرمعلی زاده
    • نام: نبي کرمعلي زاده
    • متولد: 1360/11/13
    • محل سکونت: اهواز
    • تحصيلات: مهندس آبياري
    • شغل: طراح وب و برنامه نويس
    • علايق: فقط کامپيوتر و دیگر هیچ !



  • آمار بازديد
    • تعداد آنلاین: 9
    • بازدید امروز: 70
    • بازدید دیروز: 542
    • بازدیـد کــل: 408678
    از تاريخ: 13 بهمن 1385



سه روش برای مخفی سازی ایمیل از دست روبوت های ایمیل یاب
دوشنبه 20 فروردین 1386 - 7:01:06 بعد از ظهر

احتمالاً شما هم با مشکل ایمیل های ناخواسته دست و پنجه نرم میکنید. حتماً میدانید که روبوت های ایمیل یابی وجود دارند که صفحات وب را کاوش میکنند و از درون کدهای 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 به طور خلاصه به معنی به هم ریختگی کدها می باشد. اینکار خوانایی کدها را بسیار مشکل میکند اما در نتیجه و خروجی کد تأثیری ندارد. در این روش بجای استفاده مستقیم ایمیل در صفحه وب، با کمک گرفتن از جاوا اسکریپت آن را به هم میریزیم تا تنها توسط همان کد جاوا قابل نمایش در خروجی باشد. برای اینکار برنامه های بسیاری در اینترنت وجود دارد که یکی از بهترین برنامه هایی که برای اینکار در اینترنت یافتم برنامه Enkoder محصول سایت automaticlabs.com می باشد. این برنامه تحت وب است. با مراجعه به سایت با فرمی مواجه میشوید که جزئیات لینک ایمیل خود را دریافت کرده و به شما کد جاوا اسکریپتی تحویل خواهد داد که سر در آوردن از آن تقریباً ممکن نیست. این کد را براحتی در صفحه وب خود میتوانید استفاده نمائید. نمونه ای از کد تولید شده توسط این نرم افزار بدین صورت می باشد:

 
<script type="text/javascript">
/* <![CDATA[ */
function hivelogic_enkoder(){var kode=
"kode=\")''(nioj.)(esrever.)''(tilps.edok=edok;\\\"kode=\\\"\\\\oked\\\\\\"+
"\\\\\"\\\\=rnhg%@,>**,=04wkqjohh1rg+nDwdufkh1rgBnwkqjohh1rg?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_enkoder();
/* ]]> */
</script>
 

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


» 24 نظر برای این مطلب ارسال شده است. [نظر خود را ارسال کنيد]
  1. info@mahdi-jazini.ir http://www.mahdi-jazini.ir  مهدي جزيني
    مطلب مفيد و خوبي بود.
    لينك نميديد به ما
    دوشنبه 20 فروردین 1386 - 11:13:42 بعد از ظهر
  2. sss@ss.com http://www.30noohe.com  mehran
    خوب چرا این جوری می گی؟؟ اون مورد اولی رو می گم \"\"این روش دیر یا زود توسط روبوت ها قابل کشف است! و شاید از دید روبوتهای کوچک مخفی بماند اما روبوت های هوشمند و بزرگی نیز هستند که اینگونه قالب شکنی ها را خوب میشناسند.\"\"

    خوب یه کاری می شه کرد که اصلا کسی نتونه کش بره
    می تونیم با هر دفعه اجرای کد پی اچ پی به صورت راندوم برای هر ایمیل با هر بار بارگذاری یه فرم جدا رو نمایش بدیم مثلا بیش از 100 تا فرم رو به پی اچ پی با حلقه ی تکرار معرفی می کنیم.
    امیدوارم فهمیده باشی منظورمو
    چهارشنبه 22 فروردین 1386 - 11:52:08 بعد از ظهر
  3. farhan@parscd.com http://parscd.ir  فرحان
    البته شما اول بیا مثل سایتهای دیگه ایمیل مارو همینجوری نمایش بده! آخه من جایی ایمیلمو نمیذارم ... اینجا هم که گذاشتم لینک شده و همین باعث شده که اسپم واسم بیاد...
    خودت استادی حلش کن
    متوجه منظورم شدی؟ نه؟ یه بار دیگه کامنتمو بخون :((
    دوشنبه 3 اردیبهشت 1386 - 1:00:46 بعد از ظهر
  4. nabikaz2001_se@yahoo.com http://www.nabi.ir  نبی
    سلام ؛
    ممنون سعی میکنم اصلاحش کنم تا ایمیل های نظر دهندگان رو هم دیفیس کنه.
    البته شما میتونی گزینه \"ایمیل من قابل نمایش برای عموم باشد.\" رو غیر فعال کنی تا ایمیل نمایش داده نشود.
    سه شنبه 4 اردیبهشت 1386 - 12:32:15 قبل از ظهر
  5. farhan@parscd.com http://parscd.ir  فرحان
    نه عزیز، من میخوام ایمیلمو و وبسایتمو بقیه هم ببینند.
    چهارشنبه 5 اردیبهشت 1386 - 7:17:39 بعد از ظهر
  6. http://raindigital.wordpress.com  raindigital
    سلام.
    اول این که کلا وبلاگت چیز توپیه
    دوم این که یه سوال دارم این دنبالک یا ترک بک چیه؟
    سه شنبه 11 اردیبهشت 1386 - 5:01:13 قبل از ظهر
  7. ali_30_m@yahoo.com  30nema30
    سلام آقا نبي خسته نباشي منم يك سوال داشتم . ميهواستم ببينم چطور ميشه كاري كرد كه سورس كدهاي وبلاگ مخفي بشه و كسي نتونه با استفاده از گزينه هاي بالاي اينترنت اكسپلور اونا رو برداره . آيا همچين چيزي براي وبلاگ هست يا نه . متشكر
    سه شنبه 11 اردیبهشت 1386 - 10:33:31 قبل از ظهر
  8. mehrwebster@gmail.com http://www.mehrarian.com  بهمن
    سلام
    بابا اي ول
    مرسي
    خيلي عالي بود.
    سه شنبه 18 اردیبهشت 1386 - 2:19:26 بعد از ظهر
  9. raindigital2007@gmail.com http://raindigital.wordpress.com  محمد جعفر
    ترک بک یا همون دنبالک چیه؟

    با من تبادل لینک می کنی؟
    http://raindigital.wordpress.com
    جمعه 21 اردیبهشت 1386 - 12:10:29 بعد از ظهر
  10. nabikaz2001_se@yahoo.com http://www.nabi.ir  نبی
    ترک بک یا دنبالک روشی است که به نویسنده مطلب اجازه میدهد تا از لینکهایی که در سایتهای دیگر به مطلب او شده است مطلع شود.
    بعضی از نرم افزارهای وبلاگ مانند Movable Type به صورت خودکار آن را پشتیبانی میکنند و در واقع سایتهایی که به مطلب لینک شده اند را پیدا میکنند.
    فهمیدن اینکه چه سایتهایی به مطلب ما لینک داده اند، میتونه از پیدا کردن لینک ثابت مطلب در دیگر سایتها صورت بگیره.
    توضیحات بیشتر و کاملتر در اینجا:
    http://en.wikipedia.org/wiki/Trackback
    جمعه 21 اردیبهشت 1386 - 4:54:33 بعد از ظهر
  11. rtwt@yahoo.com  فبقيف
    يصضضضضضضضضضضضضضضضضضضضضض
    سه شنبه 23 مرداد 1386 - 11:00:06 بعد از ظهر
  12.  سندباد
    من ايميل درست مي كنم ولي پسوردم رابعدازدرست كردن زماني كه مي خواهم استفاده كنم كامپيوترنمي خواند
    اشكال كارمن كجاست ؟
    شنبه 10 شهریور 1386 - 11:58:04 بعد از ظهر
  13. nabikaz2001_se@yahoo.com http://www.nabi.ir  نبی
    در ارتباط با روش دوم مقاله بالا امروز با یه مقاله جالب برخوردم در اینجا:
    http://www.alistapart.com/articles/dynatext
    در این روش، توسط جاوا اسکریپت و به کمک 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>
    که نهایتاً کاربر در بروزر ایمیل را مشاهده میکند.
    منبع: http://smarty.php.net/manual/en/language.function.mailto.php
    يکشنبه 27 آبان 1386 - 6:58:31 قبل از ظهر
  14. info@mehdi-jazini.com http://www.mehdi-jazini.com  مهدي جزيني
    من يك آي دي ياهو دارم. كه يك كلمه اي در اون آي دي هست. كه ميترسم اگر نا اون آي دي رو در سايتم قرار بدم. گوگلينگ بشه. و سايتم فيل*تر بشه. و از طرفي هم ميخوام كه كاربر بتونه با كليك روي يك آيكون با ياهو مسنجر به من پيغام بده. اگر اگر راه سوم، يعني جاوا رو انتخاب كنم. براي جلوگيري از گوگلينگ اون كلمه ميتونه جوابگو باشه ؟

    ممنون.
    چهارشنبه 10 بهمن 1386 - 7:38:10 بعد از ظهر
  15. info@mehdi-jazini.com http://www.mehdi-jazini.com  مهدي جزيني
    امتحانش كردم. خيلي عاليه. واقعا عاليه با اين احوال فكر نكنم. به هيچ امكان گوگلينگش وجود داشته باشه. واقعا عاليه. ممنون نبي جان

    ضمنا اين سايتي كه روش 3 رو ميگفت. فيلتر بود كه هموني كه ميدوني بازش كردم. يعني همون اسمشو نيار
    چهارشنبه 10 بهمن 1386 - 7:46:15 بعد از ظهر
  16. toghyani.m@gmail.com  مجتبي
    وبلاگ خوبي داريد. با آرزوي موفقيت.
    شنبه 6 مهر 1387 - 9:33:33 بعد از ظهر
  17. behrouzpc@yahoo.com http://wp.iflashlord.com  بهروز
    روش چهارم هم خالی از لطف نیست دانلود از پی اچ پی کلاسز 100% امن
    http://www.phpclasses.org/browse/package/4504.html
    در ضمن من به وبلاگ شما لینک دادم
    سه شنبه 7 آبان 1387 - 5:00:06 بعد از ظهر
  18. nabikaz2001_se@yahoo.com http://weblog.nabi.ir  نبی
    بهروز> البته روش شما جزو هیچیک از روشهای بالا نبود ولی من خیلی پیشنهادش نمیکنم، چون شما تنها برخی کارکترها رو از معادل unicode اونها استفاده کردید، اگر بنا به استفاده از این روش باشه، تابع های ساده تری مثل این:
    http://fr2.php.net/manual/fr/function.utf8-decode.php#19531
    برای این منظور وجود دارند. به نظر من این روش خیلی موثر نیست چون براحتی برگشت پذیره.
    اما به هر حال یک روش است و شما هم زحمت کشیدید برای نوشتنش.
    موفق باشید
    چهارشنبه 8 آبان 1387 - 4:26:41 قبل از ظهر
  19. adgroupp@gmail.com http://no  امیر
    آقا نبی یه سوال؟
    من میخوام ایمیل های دیتابیسم بصورت اتوماتیک تبدیل به عکس بشه.
    مثل سایت نیازمندیها
    يکشنبه 27 دی 1388 - 7:24:04 بعد از ظهر
  20. http://weblog.nabi.ir  نبی
    @امیر:
    کار سختی نیست. کد تبدیل نوشته به عکس رو که در بالا آوردم. تنها کافیه اونو توی یه فایل ذخیره کنید و در href لینک به اون فایل مسیر بدید. و با استفاده از کلید یکتای رکورد بانک اطلاعاتی مربوط به اون ایمیل، ایمیل رو استخراج و بعد تبدیل به خروجی بفرستید.
    سه شنبه 29 دی 1388 - 2:11:36 قبل از ظهر
  21. adgroupp@gmail.com http://--  امیر
    دستت درد نکنه جوابمو دادی ولی من یه کمی گیج شدم میشه بهم دقیق بگی کجا برم.
    این herf اصلا کجا هست.
    ایشالله عروسیت
    سه شنبه 6 بهمن 1388 - 5:47:53 بعد از ظهر
  22. http://weblog.nabi.ir  نبی
    @امیر:
    ببین دوست من، امروز یه نفر توی تلوزیون سخنرانی میکرد میگفت به یه نفر گفتن 2 در 2 چند میشه گفت 4 ، گفتن خوبه! 6 در 6 چند میشه، گفت 36 ، گفتن آفرین! حالا 12 در 12 چند میشه؟! گفت نمیدونم! گفتن خب برو اینو یاد بگیر وقتی برگشتی بقیشو بهت میگم ;)
    الان شما اگر ندونید متد href از تگ a چیه من هر چی اینجا نطق کنم شما متوجه منظور من نمیشید. پیشنهاد میکنم یه تحقیق درمورد html و البته php و همینطور mysql بکنید، خیلی هم نمیخواد حرفه ای کار کنید. همین که یه پیش زمینه توی ذهنتون ایجاد بشه کافیه. بعد برگردید اینجا سوالتون رو دوباره بپرسید :)
    ولی حالا برای اینکه نگید عجب آدمیه بابا ما رو میفرسته دنبال نخود سیاه میگم که برای درست کردن یک لینک در HTML بدین صورت عمل میشه:
    <a href="mailto:test@test.com">email</a>
    شاید این ایمیل از بانک اطلاعاتی خونده و جایگزین میشه مثلاً اینطوری:
    <a href="mailto:$email">email</a>
    که بجای $email ، ایمیل شما از بانک اطلاعاتی خونده میشه.
    کاری که شما باید بکنید سورس بالا رو در یک فایل مثلاً به نام email.php ذخیره کنید به طوری که در ابتدای فایل مشخص بشه که id رو بگیره و در بانک اطلاعاتی جستجو کنه و ایمیل متناظر با اون id رو استخراج کنه و با کد بالا به تصویر تبدیل کنه و به خروجی ارسال کنه. بعد هم بدین شکل از اون در قالب سایت استفاده کنید:
    <img src="email.php?id=13">
    این میاد عدد 13 رو به صورت متغییر id به فایل email.php میفرسته، در این فایل به دنبال رکورد متناظر با عدد 13 میگرده و ایمیل رو درمیاره و همون جا عکسش رو به خروجی میفرسته در نتیجه در محل تگ img عکس ایمیل ظاهر میشه.
    باورکنید مفصل تر از این نمیتونستم توضیح بدم اگر بازهم متوجه نشدید من عذر میخوام و جسارتاً واحد های پیشنیازی که در ابتدا معرفی کردم رو بگذرونید ;)
    چهارشنبه 7 بهمن 1388 - 3:48:24 قبل از ظهر
  23. adgroupp@gmail.com http://--  امیر
    حقیقتش کمی متوجه شدم ولی از اینکه جوابمو دادی ازت بسیار ممنونم.
    اگه تو زمینه کارهای سه بعدی کاری داشتی در خدمتتم
    چهارشنبه 7 بهمن 1388 - 6:39:44 بعد از ظهر
  24. http://weblog.nabi.ir  نبی
    @امیر:
    از این بابت خوشحالم.
    اگر جاییش رو به طور خاص و مشخص مشکل داشتی بپرس سعی میکنم جواب بدم.
    از لطفت هم ممنونم دوست من :)
    چهارشنبه 7 بهمن 1388 - 6:48:01 بعد از ظهر
ارسال نظر
نام:
ایمیل:
وب سایت:
نظر شما:
کد امنيتي:
  کد امنيتي را وارد نمائيد