خطاهای 429 وردپرس چیست؟ چطور آن را رفع کنیم؟
خطای 429 یا درخواستهای بیش از حد یکی از خطاهای مهم وردپرس است که برای رفع آن ابتدا باید دلیل رخ دادن آن را متوجه شوید. اگر شما هم با این خطا روبرو شدهاید این مقاله را از دست ندهید.
چه یک توسعه دهنده وب باشید و چه کاربر معمولی اینترنت، ممکن است با خطای 429 مواجه شده باشید. به این معنی که وب سایت نمیتواند تعداد درخواستهای ارسال شده به آن را مدیریت کند. در واقع خطای HTTP error 429 به این معنی است که کاربر درخواستهای زیادی را سمت سرور سایت ارسال میکند. در بیشتر موارد تشخیص اینکه خطا به چه دلیل رخ داده مشکل است و همین ممکن است باعث نگرانی شما شده باشد. در این مقاله دلایل رخ دادن این ارور و نحوه رفع آن را آموزش میدهیم.
خطای HTTP Error 429 چیست؟
429 Forbidden Error به معنای تعداد درخواستهای بیش از حد مجاز سمت سرور است و زمانی نمایش داده میشود که یک فرد یا اسکریپت تعداد زیادی درخواست را به سمت سرور سایت شما ارسال میکند. این اتفاق مشابه با زمانی است که حملات DDos رخ داده باشند.
مثال: ممکن است یک API اجازه ارسال 100 درخواست در ساعت را برای 100 کاربر داشته باشد و اگر از این تعداد تجاوز کند باعث خطای 429 میشود.
دلیل خطای 429 Too Many Bad request چیست؟
این خطا معمولا زمانی اتفاق میافتد که یک ربات، کاربر و یا اسکریپت درخواستهای زیادی را سمت سایت شما ارسال میکند و نمایش این خطا یک اقدام مناسب برای افزایش امنیت وردپس شما در برابر این حملات احتمالی است که به آنها حملات DDos گفته میشود. در واقع در این زمان است که خطای 429 Too Many Requests را مشاهده میکنید. در ادامه مجموعه دلایلی رخداد این خطا را بررسی میکنیم.
⚠️ حجم ترافیک بالای سایت
در زمانی اوج ترافیک، جشنوارهها یا فروش بالای سایت، ممکن است درخواستهای زیادی سمت سایت ارسال شود اگر سرور برای مدیریت این درخواستها محدودیت داشته باشد و پیکربندی نشده باشد این خطا نمایش داده میشود.
⚠️ ترافیک خودکار و DDos
ممکن است رباتها، crawlerها و اسکریپتها به طور مکرر درخواستهایی را به سایت ارسال کنند؛ ممکن است این درخواستها صحیح باشند مثل رباتهای موتور جستجو و یا مخرب باشند مثل حملات DDos، این درخواستهای خودکار،
⚠️ حملات بروت فورس (Brute Force)
در حملات بروت فورس هکر تلاش میکند تا با تلاشهای متعدد و حدس رمز عبور وارد سیستم شما شود. کد خطای 429 یک اقدام امنیتی مهم است و جلوی ورود مهاجم به سایت شما را میگیرد.
⚠️ محدودیت منابع سرور (هاست اشتراکی)
اگر از هاست اشتراکی استفاده میکنید ممکن است با محدودیت منابع مواجه شوید. برای مثال در سایتهای خارجی اگر در یک دقیقه با 50 درخواست از یک IP مواجه شوید پی پال آن IP را مسدود میکند. در واقع این مکانیزم، از سایت شما در برابر سو استفاده عمدی از سمت IP، سرویس یا یک API محافظت میکند. در واقع این اتفاق در هاست اشتراکی به دلیل محدودیت منابع بسیار محتمل است.
اگر به یادگیری امنیت علاقه دارید در 8 ساعت آموزش کاربردی با مباحث تخصصی امنیت در وردپرس آشنا شوید تا بدون نیاز به استخدام متخصص، سایتتان را در برابر حملات مختلف محافظت کنید.
چطور ارور 429 در وردپرس را رفع کنیم؟
همانطور که مشاهده کردید عوامل مختلفی باعث بروز این خطا میشوند، به همین دلیل برای رفع خطای 429 در وردپرس باید اقدامات زیر را مرحله به مرحله انجام دهید.
✔️ ابتدا صبر کرده و مجددا تلاش کنید
در صورتی که هاست اشتراکی دارید و با محدودیت منابع مواجه هستید صبور باشید، چون ممکن است خطا بعد از مدت کوتاهی برطرف شود. اما اگر این پیغام را به طور مکرر مشاهده کردید و خطا به دلایلی که در بخش قبلی آوردیم، نباشد بهتر است هاست خود را به یک هاست اختصاصی یا VPS ارتقا دهید.
✔️ برای رفع خطای 429 کش مرورگر را پاک کنید
حافظه پنهان یا کش مرورگر ممکن است به صورت خودکار درخواستهایی را سمت سرور سایت تکرار و ارسال کند. ریست تنظیمات قدیمی و پاک کردن حافظه پنهان ممکن است نحوه ارتباط شما با سرور را ریست کند. به علاوه حذف حافظه پنهان DNS نیز به شما کمک میکند.
✔️ فایل ارور لاگ و درخواستهای HTTP را بررسی کنید
برای رفع خطای 429، ابتدا باید بررسی کنید که حملات و درخواستهای غیرواقعی در سایت شما وجود ندارند؛ بنابراین بهتر است فایل Error Log که در هاست است را بررسی کنید و آخرین رخدادهایی که در آن ثبت شده را ببینید. همه گزارشات خطا در این فایل ثبت میشوند و اگر خطایی از سمت قالب، افزونه یا هسته وردپرس باشد میبینید. در هاست سی پنل، بخش Metrics > Error میتوانید مکان درخواست کاربر را از طریق آی پی تشخیص دهید.
نکته: این فایل در بخش Public-html هاست قرار دارد؛ روی آن کلیک راست کرده و گزینه View را انتخاب کنید.
✔️ پبدا کردن و غیر فعال کردن افزونه مخرب
یکی از دلایل رایج ارور 429 در وردپرس وجود یک افزونه مخرب است. اولین اقدام برای رفع این ارور، غیرفعالسازی همه افزونههای وردپرسی است. برای تشخیص اینکه کدامیک از افزونهها منجر به خطای 429 شده و غیرفعالسازی آنها، مراحل زیر را انجام دهید:
- ابتدا وارد سی پنل شوید و از منوی Files بخش File Manager را انتخاب کنید.
- سپس وارد پوشه نصب وردپرس که معمولا Public-html است شوید.
- در این مرحله از پوشه Wp-content فولدر Plugins را انتخاب کرده و آن را Rename کنید؛ مثلا آن را به Deactive Plugin تغییر دهید تا همه افزونههای فعال سایت را غیرفعال کنید.
4. در نهایت آدرس سایت را در مرورگر بزنید و چک کنید که آیا ارور برطرف شده یا خیر. اگر برطرف شده بود. به هاست برگردید و نام پوشه را به همان Plugin تغییر دهید.
5. سپس وارد پیشخوان وردپرس شده و از بخشی که در تصویر مشخص است تک تک افزونهها را غیرفعال کنید و چک کنید تا ببینید مشکل از کدام افزونه است.
اگر خطای 429 برطرف نشد به سراغ راهحلهای بعدی بروید.
✔️ پنهان کردن یا تغییر صفحه لاگین وردپرس
اگر خطای 429 در وردپرس به دلیل حملات سایبری مانند Brute Force رخ دهد ابتدا منابع ترافیک خودتان را با افزونه ترافیک یا گوگل آنالتیکس بررسی کنید. اگر هیچ کمپین فعالی ندارید، ممکن است تحت حملات بورت فورس قرار گرفته باشید. اگر منبع ترافیک ناآشنا باشد نشان میدهد که فردی سعی دارد شما را هک کند. برای جلوگیری از حملات بروت فورس با استفاده از افزونههای امنیتی مثل افزونه وردفنس میتوانید صفحه ورود پیش فرض وردپرس را تغییر دهید.
✔️ غیرفعال کردن قالب پیش فرض
اگر همچنان با خطای HTTP 429 مواجه هستید، برای رفع آن بهتر است قالب پیش فرض خود را غیرفعال کنید. اگر قالبهای قدیمی با کدنویسی غیر استاندارد دارید ممکن است منجر به خطای 429 شوند. در واقع اگر از قالبهای رایگان یا نال شده استفاده کنید قالب فعلی را غیرفعال کنید و قالب جدید را نصب، فعال و بررسی کنید.
نکته: بهتر است قبل از تغییر قالب حتما یک نسخه بکاپ از سایت خود تهیه کنید.
✔️ برای هر API شخص ثالث محدودیت تعیین کنید
اگر در سایت خود از API استفاده میکنید، برای سایت خود یک محدودیت Throttling قرار دهید این محدودیت میگوید درخواستهایی که یک برنامه برای سایت شما ارسال میکند، محدود شده و یا درخواستهای سرور یا API حذف شوند. این رویکرد توسط APIها یا برنامههای شخص ثالث انجام میشوند؛ به علاوه میتوانید از این روش برای محدود کردن استفاده از API شخص ثالث یا منابع سرور استفاده کنید.
✔️ با هاستینگ خود تماس بگیرید
آخرین گزینه برای رفع 429 Forbidden Error تماس با هاستینگ است در واقع ممکن است مشکل از سرور شما باشد و نه سایت. ممکن است هاست شما درخواستها یا پلتفرمهای شخص ثالث خاصی را مسدود کرده باشد.
ارور 429 یا درخواستهای شما بیش از حد مجاز است، لزوما یک خطا نیست و روشی است که سرور شما میگوید که درخواستهای شما زیاد است و مایل به پذیرش درخواستهای بیشتر نیست. اگر با این خطا روبرو شدید امیدوارم روشهای رفع خطای 429 در این مقاله به شما کمک کنند.