مخفی کردن آدرس ایمیل از دید اسپمر ها در وردپرس
یکی از کارهای خیلی خیلی بدی که تا چند سال پیش شاهد آن بودیم، این بود که مدیران سایت ها، ایمیل خود را خیلی راحت در سایت خود وارد کرده و در معرض دید عموم میگذاشتند. نتیجه اش میشد اینکه یک ربات خزنده ی اسپمر، خیلی راحت ایمیل های این افراد را از سایتشان جمع آوری میکرد و از چند روز بعد، این افراد شاهد دریافت هزاران ایمیل اسپم در اینباکس خود بودند. (باور کنید در اینباکس خود بودند!) بعدا دقت به این مسئله کمی بیشتر شد و مثلا برای رعایت کردن مسائل امنیتی، افراد بجای علامت @ از عبارت [at] و بجای نقطه از عبارت [dot] استفاده میکردند. با پیشرفته تر شدن خزنده ها، پیدا کردن این ایمیل ها هم تقریبا کار ساده ای بود. بنابراین در قدم بعدی بعضی از افراد آدرس های ایمیل خود را به صورت تصویر در سایت قرار میدادند و یا اینکه اصلا دور این کار را یک خط قرمز میکشیدند تا لااقل تا حدی خود را تا حدی از دریافت انواع اسپم های غیر قابل تحمل رها کنند.
اما سوال این است، چطور میتوانیم به شکلی کاملا ساده و راحت، ایمیل خود را در سایت خود قرار دهیم ولی مطمئن باشیم که ایمیل توسط اسپر ها سرقت نشده و هدف دریافت اسپم قرار نمیگیرد؟ وردپرسی های عزیز، خبر خوش این است که این کار برای شما بسیار ساده است. کافی است از تابع antispambot است. نحوه ی استفاده از این تابع بسیار ساده است. به قطعه کد زیر توجه کنید :
1 2 3 4 5 | <?php $my_email_address = "john.doe@mysite.com"; $my_email_address_cloaked = antispambot( $my_email_address ); echo $my_email_address_cloaked; ?> |
همانطور که میبینید ابتدا ایمیل را در یک متغیر قرار داده ایم، سپس در خط سوم تابع antispambot را با ایمیلمان صدا کرده ایم و نتیجه را در یک متغیر جدید ذخیره کرده ایم و در خط چهارم، محتوای متغیر را که حالا حاوی ایمیل کد شده ی ماست، در خروجی چاپ کرده ایم.
احتمالا الان میگویید که خوب من چطور این کد پی اچ پی را در نوشته ها یا برگه های وبسایتم استفاده کنم؟ نگران نباشید. همین الان یک shortcode برای خودمان تعریف میکنیم که کارش مخفی کردن ایمیل باشد. برای انجام این کار کافی است کد زیر را به فایل functions.php یا افزونه ی دلخواه خود اضافه نمایید :
1 2 3 4 5 6 7 8 9 | <?php function antispambot_sc( $atts ) { extract( shortcode_atts( array( 'email' => '' ), $atts ) ); return antispambot( $email ); } add_shortcode( 'antispambot', 'antispambot_sc' ); ?> |
حالا کافی است کد میانبر زیر را در هر کجای نوشته ها و برگه های خود که مایلید به کار ببرید و ایمیل خود را در آن قرار دهید :
1 | [antispambot email=""] |
نتیجه چه میشود؟
نتیجه بسیار جالب است. اگر یک اسپمر بد شکل بی ادب سایت شما را نگاه کند یک همچین چیزی خواهد دید :
1 | john.doe@mysite.com |
چرا؟ چون سورس سایت شما را نگاه میکند. اما اگر کاربران سایت شما را نگاه کنند، ایمیل شما را دقیقا همانطور که در محل مورد نظر وارد کرده اید مشاهده خواهند کرد.
همانطور که میبینید این ترفند بسیار ساده است اما احتمالا مایه ی آرامش روز ها و شب های شما خواهد شد. راستی اگر از دست دریافت انواع پیامهای اسپم که از طریق فرم های تماس برایتان ارسال میشوند خسته شده اید، حتما فرم ساز فوق حرفه ای ما را هم امتحان کنید تا به سادگی از شر دریافت اسپم های اینچنینی در امان بمانید. یا اگر کامنت های جفتگ امانتان را بریده اند نگاهی به آموزش تنظیمات افزونه اکیسمت بیاندازید تا وبسایتتان از جفنگ هم خالی شود.
درود
آموزش خیلی کاربردی می باشد و ممنون هستم ار انتشار مطالب خوب شما.
اما ای کاش یک دکمه Google + هم برای مطالب خود قرار دهید تا بتوانیم در باز نشر مطالب مفید شما نقشی داشته باشیم.
روز خوش
ایام به کامتان
سلام
ممنونم از لطف شما.
انشالله حتما انجام میشه.
سلام
چند تا سوال دارم
1- اون قطعه کد اول رو که گذاشتین یک قطعه کد اصلی هست !بعد داخل function فراخوانی کردین ؟؟؟یا نه شورت کد رو که ساختین کار همون قطعه کد رو میکنه؟؟
2- بعد اون شورت کد رو میشه توی هر صفحه ای گذاشت ؟؟
سلام
همه چیز رو در آموزش توضیح دادیم دوست عزیز. اگر با دقت مطالعه کنید همه چیز رو متوجه خواهید شد.