بررسی خطای 412 Precondition Failed
خطای 412 Precondition Failed که به معنای (پیش شرط ناموفق) می باشد یکی از خطای های سمت کاربر است. چنانچه در یک صفحه از وب سایت با پیام 412 Precondition Failed مواجه شده اید، عموما به این معنی است که درخواست ارسال شده با یکی از قوانین امنیتی اجرا شده بر روی سرور تداخل دارد.
این قوانین معمولاً برای محافظت از وب سایت های میزبانی شده بر روی سرور در برابر فعالیت های مخرب به کار گرفته می شوند.
در این آموزش دلیل عمده بروز این خطا را بررسی کنیم.
دلیل عمده مواجه با خطای 412 Precondition Failed به ماژول ModSecurity باز می گردد.
ModSecurity که از آن به عنوان Modsec نیز نام برده می شود، یک فایروال برنامه وب (Web Application Firewall : WAF) است که قابلیت فیلتر درخواست ها و پاسخ های HTTP را در قالب یک ماژول امنیتی در سرویس های میزبانی وب فراهم می سازد و با شناسایی فرآیندهای غیر متعارف نسبت به قطع دسترسی و نمایش یک پیام هشدار اقدام می کند.
ماژول ModSecurity این پاسخ را زمانی ارسال میکند که بخشی از دادههای request که در سرور دریافت شده است را احتمالاً مخرب تشخیص داده است.
برای غیرفعال کردن این ویژگی امنیتی می توانید از دستوری در فایل htaccess استفاده کنید
ابتدا با استفاده از این آموزش وارد سی پنل شوید.
سپس به پوشه public_html بروید و فایل htaccess. را ویرایش کنید. اگر آن را مشاهده نمی کنید با استفاده از این آموزش، فایل های پنهان شده در هاست برای شما نمایان خواهند شد. در غیر این صورت یک فایل با همین نام ایجاد کنید.
سپس کد زیر را در فایل htaccess. قرار دهید.
SecFilterEngine Off
نکته : اگر یک وب سایت مبتنی بر وردپرس دارید و در آن از افزونه Bad Behavior استفاده کرده اید، ابتدا باید این افزونه را غیرفعال کنید. این افزونه مبتنی بر PHP برای مسدود کردن ربات های ارسال کننده spam مورد استفاده قرار می گیرد اما معمولاً باعث ایجاد خطای 412 Precondition Failed در وردپرس می شود.
امیدواریم این آموزش مورد توجه شما قرار گرفته باشد.