درحال بارگذاری

5 راه مقابله با فرم های اسپم (Form Spam)

تاریخ: پنجشنبه, 21 آذر 1398

نویسنده: مصطفی دربان حسینی... بازیدها: 408 - نظرات : 0 دسته بندی: برنامه نویسی


هنگامی که یک پروژه تحت وب ایجاد کنید ممکن است خیلی زود یا دیر با ربات های اسپم (spam bot) برخورد کنید ،که این یک موضوع غیرقابل اجتناب است و به احتمال خیلی قوی همه با آن روبه رو خواهند شد. برای مثال در یکی از پروژه های خودم بعد از مدتی در قسمت ثبت نام با تعداد زیادی کاربر های فیک روبه رو شدم که حذف کردن آنها کاری بسیار خسته ننده و دردناک بود! و گاهی تشخیص دادن کاربران غیر واقعی از کاربران اصلی سخت میشد. برای برخی این تعداد ممکن از به بیش از 20 هزار کاربر هم برسد! در نهایت باید به مبارزه با اسپم ها بپردازید.

شاید این سوال برای شما نیز پیش بیاید که ،خب حالا با این مشکل چگونه مقابله کنیم؟ برای حل این مشکل و مبارزه با آن روش ها و ایده های گونگون و مفیدی وجود دارد و اگرچه من دوست دارم تمام آنها را با شما در میان بگذارم اما این کار زمان بری است و در حال حاضر به بررسی چند مورد خواهم پرداخت که در زیر به آنها را برای شما لیست کرده ام و به شکل مختصری در رابطه با آنها توضیح خوایم داد.

  • استفاده از Cloudflare
    اگر از خدماتی که در Cloudflare وجود دارد استفاده میکنید و با آنها آشنایی دارید می توانید از بخشی از خدمات آن با عنوان page rules (قوانین صفحه) برای قفل کردن URL ها در زمان تایید (submit) فرم ها و مقابله با اسپم ها استفاده کنید.

    البته از نظر من این ابزار ممکن است به خوبی ابزار های دیگر نباشد و به اندازه آنها دقیق نیست. اما اگرشما از قبل از این سرویس استفاده می کنید و با آن آشنایی دارید باید بدانید که استفاده از آن ساده است و به شکلی سریع پیاده سازی می شود که این مورد یکی از مزیت های آن است.
  • استفاده از روش Honeypot
    یک روش مفید و کاربردی دیگر در زمینه مبارزه با حملات و روبات های استم در فرم ها Honeypot است. Honeypots مبارزه را از خط اول (همان شروع) انجام میدهد و استفاده از آن نیز بسیار آسان است. نحوه یکار آن نیز به این شکل است که شما یک فرم پنهان را در فرم خود به شکلی که مقداری نداشته باشد و و نباید مقدار بگیرد قرار می دهید. پس از ارسال فرم اگر آن بخش مخفی دارای مقدار باشد و از آنجا که در دید قرار نداشته ،نشان دهنده آن است که به احتمال بسیار بالا یک ربات فرم را مقدار دهی کرده است و برای آن نیز یک مقدار قرار داده است.   وحالا میتوانید طبق سیاست های خود اقدام کنید.
    شما میتوانید به سادگی این کار را در پروژه های لاراولی خود استفاده کنید. اما بد نیست بدانید به کمک پکیچ spatie/laravel-honeypot نیز می توانید این کار را به سادگی در پروژه خود انجام بدهید.
    فقط به این نکته توجه داشته باشید که برای نام گذاری این فیلد (input) از یک نام درست استفاده کنید تا ربات ها به این اشتباه وادارد که باید آن نیز پر شود.
  • Validate Emails
    اگر فرم شما نیاز به وارد کرد ایمیل دارد (مثلا در بخش ثبت نام) می توانید به گونه ای فرم خود را کد نویسی کنید که قبل از ادامه نیاز باشد کاربر ایمیل خود را تایید کند که این روش در بسیاری از خبر نامه ها استفاده می شود. مثل شما ایمیل خود را وارد می کنید سپس ایمیلی برای تایید برای شما ارسال می شود و با کلیک روی آن یا وارد کردن کدی که در آن ایمیل برای شما ارسال شده است می توانید از امکانات سایت استفاده کنید.
    به این شکل این اطمینان حاصل می شود که آنها واقعا می خواستند ثبت نام کنند و یا ربات نیستند. شما می توانید با کد نویسی خود و یا با استفاده از API هایی نظیر identibyte باعث کمتر شدن پیچیدگی این روش و سادگی کار برای کاربران خود بشوید.
  • Captcha
    یکی دیگر از روش هایی که برای مبارزه با ربات های اسپم استفاده می شود استفاده از Captcha است. البته شاید برخی از کاربران شما یا حتی خود شما از این گزینه زیاد خرسند نشوید اما این روش یک روش خیلی خوب و کاربردی است. به این منظور می توانید از کپچای گوگل استفاده کنید که در نسخه های جدید دارای یک کپچای نامری است که مشکلات را برای کاربران کمتر می کند.
  • Dedicated Spam Services
    استفاده از سرویس های تشخیص اسپم. در وردپرس سیستم تشخیص اسپم Akismet به شکل کاربردی می تواند در مبارزه با اسپم ها به شما کمک کند. همچنین ابزار stopforumspam نیز امکانات مفیدی را برای شما خواهد داشت. باید به این نکته اشاره کرد که هردوی این ابزار ها رایگان هستند.
    به شخصه از Akismet در تمام پروژه های خود که از وردپرس در آنها بهره می برم نیز استفاده می کنم. اما باید به این نکته توجه داشته باشید که شما می توانید آن را در هر پروژه ای حتی پروژه های لاراولی نیز استفاده کنید. تنها کافیست از API های موجود استفاده کنید. برای مثال در پروژه های لاراول می توانید از پکیج laravel-akismet استفاده کنید.
    همانطور که در بالا هم گفتم Stop Forum Spam نیز یک ابزار مفید برای مبارزه با اسپم درست مثل Akismet است و رایگان است که برای پروژه های مختلف از جمله پروژه های لاراولی نیز قابل استفاده است. برای مثال یکی از پکیج هایی که برای استفاده از آن در لاراول ایجاد شده است پکیج laravel-stopforumspam است که می توانید آن را در پروژه های لاراولی خود استفاده کنید.

تمام گزینه هایی که در بالا ذکر شده اند برای مبارزه با اسپم ها استفاده می شوند و هریک ابزاری مفید و کاربردی هستند. اما من توصیه می کنم از honeypot استفاده کنید ،چراکه به سادگی قابل پیاده سازی است و برای کاربران و ادامه کار شما مشکلی ایجاد نخواهد کرد. درصورتی که در استفاده از honeypot موفقیتی نداشتید و از برای کار شما مفید واقع نشد به سراغ گزینه های دیگر بروید. تنها به یاد داشته باشید ابزاری که امروز به درستی کار می کند ممکن است فردا درست کار نکند چراکه ربات های اسپم هر روز در حال پیشرفت هستند و توسعه دهندگان آنها نیز به دنبال مبارزه با آنتی اسپم ها هستند. و در نهایت این جنگ همیشه ادامه دار خواهد بود!

  نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.


نویسنده: مصطفی دربان حسینی... بازیدها: 408 - نظرات : 0 دسته بندی: برنامه نویسی

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

سایر خدمات مجموعهخدمات زیر تحت مدیریت برد تخصصی ارائه می شود.
طراحی وب سایت
راه اندازی و پشتیبانی شبکه
هوشمند سازی منازل
افزایش کارایی نیرو انسانی
تعمیرات دستگاه های الکترونیکی
طراحی داخلی
تبلیغات فضای مجازی
برنامه نویسی