
فرم تماس یکی از سادهترین راههای ارتباط کاربر با مدیر سایت است، اما همین فرمها میتوانند به یکی از مسیرهای اصلی ورود پیامهای اسپم و ارسالهای خودکار تبدیل شوند. اگر از Contact Form 7 استفاده میکنید و هر روز پیامهای بیارزش، تبلیغاتی یا خودکار دریافت میکنید، معمولاً اولین راهحلهایی که به ذهن میرسند سرویسهایی مانند reCAPTCHA هستند.
MentoGuard افزونهای رایگان و متنباز برای وردپرس است که با هدف کاهش اسپم فرمهای Contact Form 7 ساخته شده است. تفاوت اصلی آن با بسیاری از راهکارهای ابری این است که بررسیها را روی خود سایت انجام میدهد و طبق توضیحات رسمی افزونه، دادهای برای تشخیص ربات به سرور خارجی ارسال نمیشود.
این افزونه بهجای نمایش پازل، تصویر یا کادر «من ربات نیستم»، رفتار کاربر هنگام پر کردن فرم را بررسی میکند و همزمان چند کنترل سمت سرور نیز انجام میدهد. نتیجه این است که کاربر واقعی معمولاً چیزی اضافه در فرم نمیبیند، اما ربات باید از چند مرحله بررسی عبور کند.
MentoGuard چیست و برای چه سایتهایی مناسب است؟
MentoGuard یک افزونه ضداسپم برای فرمهای وردپرسی است که نسخه فعلی آن بهطور مشخص روی Contact Form 7 تمرکز دارد. برای فعال شدن محافظت، کافی است تگ [mentoguard] را داخل فرم Contact Form 7 قرار دهید.
براساس صفحه رسمی افزونه در WordPress.org، نسخه فعلی هنگام بررسی این مقاله 1.8.6 است، به WordPress 6.0 یا بالاتر و PHP 8.0 یا بالاتر نیاز دارد و تا WordPress 7.0.4 آزمایش شده است. این افزونه هنوز تازهوارد محسوب میشود و تعداد نصب فعال آن در مخزن رسمی کمتر از 10 مورد است؛ همچنین در زمان بررسی، امتیاز یا نقد کاربری ثبتشدهای در صفحه افزونه وجود نداشت.
این موضوع به معنی ضعیف بودن افزونه نیست، اما برای سایتهای مهم بهتر است قبل از فعالسازی نهایی، ابتدا آن را در حالت آزمایشی بررسی کنید. خوشبختانه خود افزونه برای همین کار حالتی به نام Test Mode دارد.
MentoGuard چگونه جلوی اسپم فرم تماس را میگیرد؟
در توضیحات فعلی مخزن رسمی وردپرس، MentoGuard از 5 لایه محافظتی مستقل استفاده میکند. هدف این است که تشخیص فقط به یک نشانه وابسته نباشد. اگر یک ربات بتواند یک مرحله را دور بزند، لایههای دیگر همچنان فعال هستند.
| لایه | چه چیزی بررسی میشود؟ | هدف |
|---|---|---|
| لیست سیاه IP | IP فرستنده با فهرست مسدودشدهها مقایسه میشود. | جلوگیری سریع از ارسالهای تکراری منابع شناختهشده |
| توکن یکبارمصرف | فرم باید توکن معتبر تولیدشده توسط سرور را همراه داشته باشد. | مسدود کردن درخواستهایی که بدون باز کردن صفحه مستقیماً ارسال میشوند |
| زمان تکمیل فرم | فاصله زمانی بین باز شدن فرم و ارسال آن بررسی میشود. | شناسایی ارسالهای غیرعادی و بیش از حد سریع |
| امتیاز رفتاری | رفتار کاربر هنگام حرکت، تایپ، جابهجایی بین فیلدها و کپیکردن بررسی میشود. | تشخیص الگوهای شبیه ربات بدون مزاحمت مستقیم برای کاربر |
| تشخیص غیرفعال بودن جاوااسکریپت | سرور بررسی میکند فیلدهایی که باید توسط جاوااسکریپت تکمیل شوند وجود دارند یا نه. | گرفتن رباتهایی که برای دور زدن بررسی رفتاری جاوااسکریپت را اجرا نمیکنند |
لایه اول: لیست سیاه IP
پیش از بررسیهای دیگر، IP فرستنده با فهرست سیاه افزونه مقایسه میشود. MentoGuard از IPv4، IPv6 و محدودههای CIDR پشتیبانی میکند. برای نمونه، میتوان یک محدوده را به این شکل وارد کرد:
192.168.0.0/24
این قابلیت برای IPهایی که بارها ارسال اسپم داشتهاند مفید است، اما بهتر است آن را تنها راه دفاع در نظر نگیرید. IP کاربران میتواند پویا یا مشترک باشد؛ بنابراین مسدود کردن یک محدوده بزرگ بدون بررسی ممکن است کاربران واقعی را هم تحت تأثیر قرار دهد.
لایه دوم: توکن امضاشده و یکبارمصرف
وقتی صفحه حاوی فرم باز میشود، افزونه یک توکن یکتا تولید میکند. هنگام ارسال، سرور بررسی میکند که این توکن معتبر باشد. بعد از استفاده نیز توکن دیگر قابل استفاده نیست.
این روش برای رباتهایی مناسب است که اصلاً صفحه فرم را باز نمیکنند و مستقیم درخواست ارسال میفرستند. چنین رباتی توکن معتبر ندارد و قبل از رسیدن به مراحل بعدی شناسایی میشود.
لایه سوم: بررسی زمان تکمیل فرم
افزونه زمان باز شدن صفحه را در سمت سرور نگه میدارد و هنگام ارسال فرم فاصله زمانی را بررسی میکند. اگر فرمی که چند فیلد دارد در زمانی غیرعادی کوتاه ارسال شود، میتواند یکی از نشانههای رفتار خودکار باشد.
مزیت این مرحله این است که فقط به جاوااسکریپت مرورگر وابسته نیست. با این حال زمان کوتاه بهتنهایی همیشه به معنی ربات نیست؛ کاربری که از پرکردن خودکار مرورگر استفاده میکند هم میتواند فرم را سریع تکمیل کند. به همین دلیل تنظیم آستانه و استفاده از Test Mode اهمیت دارد.
لایه چهارم: امتیازدهی رفتاری
MentoGuard چند نشانه را هنگام پر شدن فرم بررسی میکند و براساس آنها امتیاز اسپم میسازد. از جمله سیگنالهایی که در تنظیمات افزونه قابل کنترل هستند میتوان به این موارد اشاره کرد:
- تکمیل فرم در کمتر از 3 ثانیه؛
- تکمیل فرم در کمتر از 5 ثانیه؛
- نداشتن حرکت ماوس؛
- پر کردن فیلدها با ترتیب غیرعادی؛
- استفاده فقط از کپی و جایگذاری بدون تایپ؛
- تغییر نکردن فوکوس مرورگر؛
- نبود فاصله زمانی بین تکمیل فیلدها.
نکته مثبت این ساختار این است که مدیر سایت مجبور نیست همه این موارد را به شکل یک قانون قطعی در نظر بگیرد. هر نشانه میتواند امتیاز مخصوص خود را داشته باشد و مجموع امتیازها با آستانه نهایی مقایسه شود.
لایه پنجم: تشخیص دور زدن جاوااسکریپت
بعضی رباتها ممکن است اصلاً کدهای جاوااسکریپت صفحه را اجرا نکنند. MentoGuard برای چنین حالتی هم بررسی جداگانه دارد. اگر مقادیری که باید در مرورگر ساخته شوند وجود نداشته باشند، سرور میتواند درخواست را مشکوک تشخیص دهد.
داشبورد MentoGuard چه اطلاعاتی نشان میدهد؟
مزیت MentoGuard فقط مسدود کردن فرم نیست. افزونه بخشی برای گزارشگیری دارد تا مدیر سایت بداند چه تعداد ارسال رد شده و دلیل تشخیص چه بوده است.
صفحه اصلی داشبورد
در داشبورد، آمار کلی ارسالهای مسدودشده، تعداد امروز، هفته جاری و میانگین امتیاز اسپم نمایش داده میشود. همچنین چند ارسال اخیر همراه با IP، امتیاز، سیگنالهای فعال و صفحهای که فرم در آن قرار داشته قابل مشاهده است.
گزارش ارسالهای اسپم
در بخش Spam Logs میتوان تاریخچه درخواستهای مسدودشده را دید و آنها را براساس تاریخ، IP یا حداقل امتیاز فیلتر کرد. حذف چند مورد بهصورت دستهجمعی هم وجود دارد.
بدترین اسپمرها
صفحه Top Spammers آدرسهای IP را براساس تعداد تلاش مرتب میکند. برای هر IP تعداد درخواستهای ردشده، میانگین امتیاز و آخرین زمان مشاهده نمایش داده میشود و در صورت نیاز میتوان آن IP را به لیست سیاه اضافه کرد.
گزارش خطایابی
وقتی حالت Debug فعال باشد، مراحل بررسی هر ارسال ثبت میشود. این بخش بیشتر برای زمانی مفید است که یک فرم واقعی به اشتباه مسدود شده یا میخواهید متوجه شوید کدام لایه باعث رد شدن درخواست شده است.
حالت Test Mode چه کاربردی دارد؟
یکی از بخشهای مهم MentoGuard حالت آزمایشی است. در این حالت افزونه رفتار کاربران را بررسی و امتیاز را محاسبه میکند، اما ارسال را مسدود نمیکند. به این ترتیب میتوانید ببینید کاربران واقعی سایت چه امتیازی میگیرند و بعد آستانه مناسب را انتخاب کنید.
این مرحله بهخصوص برای سایتهایی که کاربران موبایل زیادی دارند، از پرکردن خودکار مرورگر استفاده میکنند یا فرمهای بسیار کوتاه دارند مهم است. یک فرم دو فیلدی ممکن است واقعاً در چند ثانیه تکمیل شود و نباید فقط به دلیل سرعت بالا مسدود شود.
پیشنهاد منطقی این است که قبل از فعال کردن مسدودسازی، Test Mode را مدتی روشن بگذارید، چند فرم واقعی را از دستگاههای مختلف پر کنید و نتیجه را در گزارشها ببینید.
3 حالت آماده برای تنظیم شدت محافظت
برای اینکه همه کاربران مجبور نباشند امتیاز هر سیگنال را از صفر تنظیم کنند، MentoGuard سه حالت آماده دارد. مقادیر زیر براساس تنظیمات معرفیشده برای افزونه هستند و مدیر سایت همچنان میتواند آنها را بهصورت دستی تغییر دهد.
| حالت | آستانه مسدودسازی | بررسی زمانی | مناسب برای |
|---|---|---|---|
| Relaxed | 80 امتیاز | 2 ثانیه و افزودن 20 امتیاز | کاربران سریع، موبایل و پرکردن خودکار مرورگر |
| Balanced | 60 امتیاز | 3 ثانیه و افزودن 40 امتیاز | بیشتر سایتهای وردپرسی با ترافیک عادی |
| Strict | 40 امتیاز | 5 ثانیه با امکان مسدودسازی فوری | سایتهایی که با حجم بالای اسپم روبهرو هستند |
Relaxed؛ برای فرمهایی که خیلی سریع پر میشوند
در این حالت حساسیت کمتر است و تنها چند نشانه مهمتر فعال میشوند. برای سایتهایی که کاربران زیادی از موبایل، Autofill یا ابزارهای مدیریت رمز استفاده میکنند، این حالت میتواند ریسک مسدود شدن اشتباه کاربر واقعی را کمتر کند.
Balanced؛ نقطه شروع مناسب برای بیشتر سایتها
خود صفحه رسمی افزونه نیز حالت Balanced را برای شروع پیشنهاد میکند. در این حالت چند سیگنال رفتاری فعال است و مسدودسازی زمانی شدید نیست. با این حال بهتر است قبل از فعالسازی نهایی، Test Mode را بررسی کنید.
Strict؛ برای زمان حمله اسپم
Strict برای زمانی طراحی شده که حجم اسپم زیاد است و میخواهید حساسیت بالاتری داشته باشید. در این حالت احتمال خطای مثبت کاذب هم بیشتر میشود؛ بنابراین استفاده دائمی از آن بدون بررسی گزارشها توصیه نمیشود.
MentoGuard چه تفاوتی با reCAPTCHA و Turnstile دارد؟
Contact Form 7 خودش چند روش ضداسپم مانند Akismet، Google reCAPTCHA و Cloudflare Turnstile را پشتیبانی میکند. بنابراین MentoGuard تنها گزینه موجود نیست. تفاوت اصلی آن این است که بررسیها داخل سایت انجام میشوند و برای کار کردن به حساب سرویس خارجی یا کلید API نیاز ندارد.
| معیار | MentoGuard | reCAPTCHA v3 | Cloudflare Turnstile |
|---|---|---|---|
| محل پردازش | روی سایت وردپرسی | سرویس گوگل | سرویس Cloudflare |
| نیاز به حساب و کلید سرویس | خیر | بله | بله |
| تعامل مستقیم کاربر | در حالت عادی ندارد | نسخه v3 در پسزمینه کار میکند | بسته به حالت تنظیم، معمولاً کم یا نامحسوس |
| ارسال داده به سرویس خارجی برای تشخیص ربات | طبق توضیحات افزونه، خیر | بله، به سرویس گوگل متصل است | بله، به Cloudflare متصل است |
| گزارش داخلی در وردپرس | دارد؛ امتیاز، IP و سیگنالها | آمار اصلی در سرویس گوگل؛ Contact Form 7 هم میتواند گزارش اسپم داشته باشد | آمار سرویس در Cloudflare |
یک نکته مهم این است که reCAPTCHA v3 هم برخلاف نسخههای قدیمی معمولاً پازل تصویری به کاربر نشان نمیدهد و در پسزمینه امتیازدهی میکند. بنابراین مزیت MentoGuard را بهتر است بیشتر در عدم وابستگی به سرویس خارجی، کنترل تنظیمات داخل وردپرس و گزارشگیری محلی ببینیم.
آیا MentoGuard روی سرعت سایت تأثیر دارد؟
در صفحه رسمی افزونه گفته شده فایلهای MentoGuard فقط در صفحاتی بارگذاری میشوند که فرم Contact Form 7 شامل [mentoguard] داشته باشد. بنابراین اگر افزونه روی یک صفحه استفاده نشده باشد، قرار نیست اسکریپت آن در همه صفحات سایت بارگذاری شود.
با این حال عبارت «بدون تأثیر روی سرعت» را نباید به معنی صفر بودن مطلق هزینه پردازشی در صفحه فرم در نظر گرفت. هر ابزاری که رفتار کاربر را بررسی میکند، مقداری کد در مرورگر و پردازش در سرور دارد. نکته مثبت اینجا محدود شدن منابع به همان صفحات موردنیاز است.
اگر سرعت صفحه تماس برایتان مهم است، بعد از نصب یک تست قبل و بعد بگیرید و تعداد درخواستها و زمان اجرای صفحه را مقایسه کنید. این کار از تکیه صرف بر توضیح تبلیغاتی هر افزونه قابل اعتمادتر است.
حریم خصوصی و نگهداری اطلاعات در MentoGuard
براساس اطلاعات مخزن رسمی وردپرس، MentoGuard برای بررسی اسپم دادهای را به سرویس خارجی ارسال نمیکند و اطلاعات مسدودسازی را داخل دیتابیس همان سایت نگه میدارد. داده ذخیرهشده برای ارسالهای مسدودشده شامل IP و امتیاز اسپم است و مدت نگهداری گزارشها نیز قابل تنظیم است.
این ویژگی برای سایتهایی که نمیخواهند تشخیص ربات به سرویس خارجی وابسته باشد جذاب است. توسعهدهنده افزونه آن را با رویکرد سازگار با GDPR معرفی میکند؛ با این حال رعایت مقررات حریم خصوصی فقط به انتخاب افزونه محدود نمیشود. اگر IP کاربران را ذخیره میکنید، بهتر است مدت نگهداری و توضیحات سیاست حریم خصوصی سایت را هم متناسب با قوانین و نیاز کسبوکار خود بررسی کنید.
طبق توضیحات رسمی، هنگام حذف کامل افزونه، جداول و تنظیمات مربوط به آن نیز پاک میشوند.
آموزش نصب و راهاندازی MentoGuard
راهاندازی اولیه افزونه پیچیده نیست و در چند مرحله انجام میشود.
مرحله 1: نصب افزونه
از پیشخوان وردپرس به «افزونهها ← افزودن افزونه تازه» بروید و عبارت MentoGuard را جستجو کنید. صفحه رسمی افزونه در مخزن وردپرس نیز از لینک زیر در دسترس است:
دانلود MentoGuard از مخزن رسمی وردپرس
اگر با نصب افزونههای وردپرس آشنایی ندارید، مقاله افزونه وردپرس چیست و چگونه کار میکند؟ میتواند پیش از ادامه این آموزش مفید باشد.
مرحله 2: افزودن تگ MentoGuard به فرم
فرم موردنظر را در Contact Form 7 باز کنید و قبل از دکمه ارسال، تگ زیر را قرار دهید:
[mentoguard]
یک فرم ساده میتواند چیزی شبیه نمونه زیر باشد:
[text* your-name]
[email* your-email]
[mentoguard]
[submit "ارسال"]
مرحله 3: انتخاب حالت محافظت
از منوی MentoGuard وارد Settings شوید. برای بیشتر سایتها میتوانید از Balanced شروع کنید، اما بهتر است بلافاصله مسدودسازی را نهایی نکنید.
مرحله 4: فعال کردن Test Mode
Test Mode را روشن کنید و فرم را چند بار از موبایل، دسکتاپ و مرورگرهای مختلف پر کنید. اگر کاربران سایت شما از پرکردن خودکار مرورگر استفاده میکنند، حتماً آن حالت را هم امتحان کنید.
مرحله 5: بررسی امتیازها و فعالسازی نهایی
وقتی مطمئن شدید کاربران واقعی با فاصله مناسبی از آستانه مسدودسازی قرار دارند، Test Mode را غیرفعال کنید. بعد از فعال شدن محافظت، در روزهای اول گزارش Spam Logs را هم بررسی کنید تا اگر تنظیمات بیش از حد سختگیرانه بود، سریع متوجه شوید.
آیا MentoGuard ممکن است کاربر واقعی را اشتباه مسدود کند؟
هیچ سامانه ضداسپمی را نمیتوان برای همه سایتها بدون احتمال خطا دانست. بعضی رفتارهایی که برای ربات مشکوک هستند، در کاربر واقعی هم دیده میشوند. برای مثال:
- کاربر موبایل ممکن است اصلاً حرکت ماوس نداشته باشد؛
- مرورگر میتواند چند فیلد را با Autofill تقریباً همزمان پر کند؛
- کاربر ممکن است متن آماده خود را کپی و جایگذاری کند؛
- یک فرم بسیار کوتاه واقعاً میتواند در کمتر از 5 ثانیه کامل شود.
به همین دلیل MentoGuard بهجای یک قانون واحد، از چند سیگنال و امتیاز ترکیبی استفاده میکند. Test Mode نیز دقیقاً برای این طراحی شده که تنظیمات را قبل از مسدودسازی واقعی با رفتار کاربران سایت خودتان هماهنگ کنید.
نکاتی که قبل از انتخاب MentoGuard باید بدانید
برای اینکه این مقاله فقط به مزایا محدود نشود، چند نکته عملی هم باید در نظر گرفته شود:
- تمرکز فعلی روی Contact Form 7 است. توسعهدهنده اعلام کرده پشتیبانی از فرمسازهای بیشتر در آینده اضافه میشود، اما در زمان نگارش این مقاله Contact Form 7 اتصال اصلی است.
- افزونه هنوز جامعه کاربری بزرگی ندارد. در مخزن رسمی کمتر از 10 نصب فعال و هنوز بدون نقد کاربری ثبت شده است.
- PHP 8.0 یا بالاتر لازم است. اگر هاست شما نسخه قدیمی PHP دارد، قبل از نصب باید سازگاری سایت را بررسی کنید.
- لیست سیاه IP باید با احتیاط استفاده شود. IP مشترک یا پویا میتواند باعث مسدود شدن ناخواسته شود.
- تنظیم Strict برای همه سایتها مناسب نیست. هرچه آستانه پایینتر باشد، حساسیت بیشتر و احتمال مسدود شدن اشتباه هم بالاتر میرود.
- ضداسپم به معنی امنیت کامل فرم نیست. تنظیم درست گیرنده ایمیل، بروزرسانی Contact Form 7 و رعایت امنیت عمومی وردپرس همچنان ضروری است.
MentoGuard برای چه سایتهایی انتخاب مناسبی است؟
این افزونه بیشتر برای سایتهایی مناسب است که:
- از Contact Form 7 استفاده میکنند؛
- با پیامهای خودکار و تکراری در فرم تماس روبهرو هستند؛
- نمیخواهند برای ضداسپم به یک سرویس خارجی وابسته باشند؛
- به گزارش IP، امتیاز و دلیل مسدود شدن هر ارسال نیاز دارند؛
- میخواهند شدت تشخیص را براساس رفتار کاربران خود تنظیم کنند؛
- ترجیح میدهند کاربر واقعی با پازل یا مرحله اضافی روبهرو نشود.
در مقابل، اگر فرم سایت شما با افزونه دیگری ساخته شده است، فعلاً باید سازگاری را قبل از انتخاب بررسی کنید. همچنین اگر نمیخواهید هیچ اطلاعاتی مثل IP ارسالهای مسدودشده در دیتابیس سایت نگهداری شود، تنظیمات نگهداری گزارشها باید با دقت بیشتری بررسی شود.
جمعبندی
MentoGuard تلاش میکند مشکل اسپم Contact Form 7 را بدون افزودن مرحلهای مزاحم به تجربه کاربر حل کند. ترکیب توکن یکبارمصرف، بررسی زمان، رفتار کاربر، تشخیص اجرای جاوااسکریپت و لیست سیاه IP باعث میشود تشخیص به یک عامل واحد وابسته نباشد.
مهمترین ویژگی آن برای مدیرانی که به حریم خصوصی و استقلال از سرویسهای خارجی اهمیت میدهند، انجام بررسیها روی خود سایت و نداشتن نیاز به حساب یا کلید API خارجی است. داشبورد گزارشها، Test Mode و امکان تنظیم شدت هر سیگنال نیز کنترل بیشتری نسبت به یک راهکار کاملاً بسته در اختیار مدیر وردپرس قرار میدهد.
در عین حال MentoGuard هنوز افزونهای تازهوارد با تعداد نصب محدود است. بنابراین برای سایتهای مهم، بهترین روش این است که آن را ابتدا در Test Mode یا روی محیط آزمایشی بررسی کنید و بعد از دیدن امتیاز کاربران واقعی، تنظیمات نهایی را فعال کنید.
دانلود افزونه: MentoGuard در مخزن رسمی WordPress.org

