رفتن به محتوا
زیرساخت ابری

ارور ۴۰۳ چیست؟ + ۱۱ روش رفع خطای ۴۰۳ Forbidden

خطای ۴۰۳ یعنی سرور درخواست شما را فهمیده است، اما اجازه دسترسی به منبع را نمی‌دهد. این پاسخ همیشه از مرورگر یا اینترنت شما ناشی نمی‌شود؛ تنظیمات سرور، مجوز فایل‌ها و قوانین امنیتی هم نقش دارند. در این راهنما، تفاوت کد 403 Forbidden با خطاهای دیگر و ۱۱…

9 دقیقه مطالعهبلاگ ابر آراد
403-status-code
مجله ابر آرادINSIGHTS / زیرساخت ابری

خطای ۴۰۳ یعنی سرور درخواست شما را فهمیده است، اما اجازه دسترسی به منبع را نمی‌دهد. این پاسخ همیشه از مرورگر یا اینترنت شما ناشی نمی‌شود؛ تنظیمات سرور، مجوز فایل‌ها و قوانین امنیتی هم نقش دارند. در این راهنما، تفاوت کد 403 Forbidden با خطاهای دیگر و ۱۱ مسیر عیب‌یابی را می‌خوانید. ابتدا مشخص کنید بازدیدکننده هستید یا مدیر سایت؛ سپس فقط تنظیماتی را بررسی کنید که اختیار تغییرشان را دارید.

 خطای۴۰۳ چیست؟

طبق استاندارد HTTP، پاسخ 403 Forbidden نشان می‌دهد سرور درخواست را فهمیده، اما اجرای آن را رد می‌کند. برای مثال، مدیر سایت ممکن است مشاهده یک پوشه یا دسترسی یک IP را محدود کند. این کد به‌تنهایی علت دقیق محدودیت را مشخص نمی‌کند.

نمایش خطای ۴۰۳ Forbidden و پیام نداشتن مجوز دسترسی در مرورگر

تفاوت‌ ارور۴۰۳ با خطاهای دیگر  HTTP

کدهای 4xx به درخواست و محدودیت‌های دسترسی مربوط‌اند؛ با این حال، وجود چنین کدی لزوماً به معنی اشتباه کاربر نیست. مدیر سرور هم ممکن است قانون نامناسبی اعمال کرده باشد. در مقابل، کدهای 5xx از مشکل سرور هنگام پاسخ‌گویی خبر می‌دهند. تفاوت مهم چند کد رایج را در ادامه ببینید:

خطای 404: سرور منبع درخواستی را پیدا نمی‌کند یا وجود آن را اعلام نمی‌کند. حذف صفحه، لینک اشتباه و تغییر مسیر از علت‌های رایج‌اند. در پاسخ 403، سرور به‌جای اعلام نبودن منبع، دسترسی را رد می‌کند.

خطای 500: سرور با وضعیت غیرمنتظره‌ای مواجه شده که مانع اجرای درخواست است. برای تشخیص علت، مدیر سایت باید گزارش خطای برنامه و وب‌سرور را بررسی کند.

خطای 401: درخواست به اطلاعات معتبر احراز هویت نیاز دارد. ورود ناقص یا نامعتبر می‌تواند چنین پاسخی ایجاد کند. در مقابل، ورود دوباره همیشه پاسخ 403 را برطرف نمی‌کند؛ ممکن است حساب شما مجوز لازم را نداشته باشد.

خطای 502: سروری که نقش دروازه یا پراکسی دارد، پاسخ نامعتبری از سرور بالادستی دریافت می‌کند. بنابراین، این خطا با رد مجوز دسترسی تفاوت دارد.

چه زمانی خطای ۴۰۳ رخ می‌دهد؟

سرور ممکن است هنگام بازدید از صفحه، دانلود فایل یا بارگذاری منابع CSS و JavaScript پاسخ 403 بدهد. برای یافتن علت، آدرس دقیق منبع، زمان رخداد و وضعیت ورود کاربر را ثبت کنید. مدیر سایت می‌تواند این اطلاعات را با لاگ وب‌سرور و فایروال تطبیق دهد.

اگر فقط یک کاربر یا یک شبکه این پاسخ را می‌بیند، محدودیت IP و وضعیت نشست را بررسی کنید. اگر همه کاربران با آن روبه‌رو هستند، ابتدا سرور و تغییرات اخیر سایت را بررسی کنید.

 دلایل بروز خطای ۴۰۳ 

برای عیب‌یابی خطای ۴۰۳، علت‌ها را از هم جدا کنید. مجوز فایل، قوانین وب‌سرور، پراکسی و فایروال هرکدام به بررسی متفاوتی نیاز دارند. تغییر هم‌زمان همه تنظیمات، تشخیص علت و بازگردانی وضعیت قبلی را دشوار می‌کند.

مشکلات دسترسی به فایل‌ها یا پوشه‌ها

وب‌سرور برای نمایش محتوا به دسترسی خواندن فایل‌ها و عبور از پوشه‌ها نیاز دارد. مالکیت اشتباه یا مجوز نامناسب می‌تواند این دسترسی را قطع کند. پیش از تغییر مجوز، مالک فایل و کاربر اجرای وب‌سرور را بررسی کنید.

مشکلات تنظیمات سرور

وب‌سرور ممکن است نمایش فهرست پوشه‌ها را منع کند یا برای مسیر خاصی قانون رد دسترسی داشته باشد. تنظیمات میزبان مجازی و فایل‌های پیکربندی را با مسیر درخواست مقایسه کنید.

مشکلات مربوط به پروکسی‌

پراکسی یا دروازه شبکه می‌تواند درخواست را براساس IP، هدر یا سیاست دسترسی رد کند. لاگ همان واسط را بررسی کنید تا پاسخ آن را با پاسخ سرور اصلی اشتباه نگیرید.

تنظیمات اشتباه در رول های فایل

قوانین فایل پیکربندی ممکن است دسترسی به یک مسیر را بیش از حد محدود کنند. برای مثال، قانون منع مشاهده فایل‌های حساس نباید ناخواسته صفحه عمومی سایت را هم مسدود کند. محدوده و ترتیب قوانین را بررسی کنید.

تنظیمات اشتباه در رول های فایل

فهرست‌های کنترل دسترسی یا ACL مشخص می‌کنند هر کاربر و سرویس چه مجوزی دارد. اگر قانون مناسب را به کاربر اشتباه اختصاص دهید، سرویس به منبع دسترسی نخواهد داشت. مالکیت، گروه و ACL را همراه هم بررسی کنید.

محدودیت های مربوط به فایروال

فایروال یا WAF گاهی یک درخواست معتبر را مشکوک تشخیص می‌دهد. شناسه قانون، IP و مسیر مسدودشده را در لاگ پیدا کنید. به‌جای خاموش کردن کامل حفاظت، فقط همان قانون را با مسئول امنیت بررسی کنید.

چگونه می‌توان خطای ۴۰۳ را رفع کرد؟ 

برای رفع خطای ۴۰۳، ابتدا بکاپ و مسیر بازگشت آماده کنید. سپس روش مناسب را با توجه به نقش خود انتخاب کنید. بازدیدکننده نباید تنظیمات سرور را تغییر دهد؛ مدیر سایت نیز بهتر است آزمایش‌های حساس را روی کپی آزمایشی انجام دهد.

از مطالعه تا انتخابسرویس مناسب پروژه‌تان را بررسی کنید.

محصولات ابر آراد را ببینید و مشخصات هر سرویس را مقایسه کنید.

بررسی محصولات

راه حل اول: فایل htaccess را بررسی کنید.

۱- اگر سرور از Apache یا وب‌سرور سازگار استفاده می‌کند، File Manager پنل هاست را باز کنید. در Nginx، قوانین معمولاً در پیکربندی سرور قرار دارند و فایل .htaccess کاربردی ندارد.

۲- در ریشه نصب سایت، معمولاً public_html، فایل .htaccess را پیدا کنید. مسیر نصب در همه سرویس‌ها یکسان نیست؛ آن را در پنل هاست بررسی کنید.

پیدا کردن فایل .htaccess در File Manager برای بررسی خطای ۴۰۳

اگر فایل را نمی‌بینید، گزینه نمایش فایل‌های مخفی را در تنظیمات File Manager فعال کنید. نام این گزینه در پنل‌های مختلف تفاوت دارد؛ ممکن است آن را با عنوان Show Hidden Files ببینید.

۳- پیش از ویرایش، نسخه فایل را دانلود و در محل امن نگه دارید. قوانین ریدایرکت، امنیت و کش موجود در آن را نیز ثبت کنید.

۴- فایل را یک‌جا حذف نکنید. ابتدا قوانین رد دسترسی را بررسی کنید. روی کپی آزمایشی، فقط قانون مشکوک را موقتاً تغییر دهید و امکان بازگشت را حفظ کنید.

۵- همان آدرس مشکل‌دار را دوباره آزمایش کنید. اگر تغییر یک قانون پاسخ را اصلاح کرد، علت را مستند کنید و نسخه امن قانون را جایگزین کنید. سپس دیگر مسیرهای سایت را هم بررسی کنید.

۶- اگر قوانین استاندارد وردپرس آسیب دیده‌اند، بخش تنظیمات ← پیوندهای یکتا را باز کنید. قبل از ذخیره، مطمئن شوید قوانین اختصاصی سایت را جداگانه نگه داشته‌اید.

۷- ذخیره تنظیمات پیوندهای یکتا می‌تواند قوانین بازنویسی استاندارد وردپرس را بازسازی کند. اما همه قوانین امنیتی یا ریدایرکت اختصاصی را بازیابی نمی‌کند. خروجی فایل را بعد از این کار بررسی کنید.

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

راه حل دوم: سطح دسترسی ها را ویرایش کنید.

مجوز فایل و پوشه را با تنظیمات مورد تأیید میزبان مقایسه کنید. در بسیاری از نصب‌های وردپرس، پوشه‌ها از 755 و فایل‌ها از 644 استفاده می‌کنند؛ با این حال، مالکیت و معماری هاست هم مهم است. مجوز 777 را به‌عنوان راه‌حل عمومی اعمال نکنید. این مجوز دسترسی نوشتن را بیش از حد باز می‌کند. برای فایل‌های حساس و موارد استثنا، راهنمای رسمی امنیت وردپرس و توصیه میزبان را بررسی کنید.

پیش از تغییر مجوزها، بکاپ کامل و قابل‌بازیابی بگیرید. اگر مالکیت فایل‌ها یا کاربر وب‌سرور را نمی‌شناسید، از پشتیبانی هاست کمک بگیرید.

راه حل سوم: کش مرور خود را پاک کنید.

برای تشخیص اثر کش، ابتدا صفحه را در پنجره خصوصی باز کنید. سپس فقط داده‌های مربوط به همان سایت را پاک و دوباره آزمایش کنید. پاک کردن کش، قانون رد دسترسی سرور را تغییر نمی‌دهد.

راه حل چهارم: پروکسی و VPN خود را بررسی کنید.

VPN یا پراکسی ممکن است IP خروجی شما را به آدرسی محدودشده تغییر دهد؛ اما هر استفاده از VPN الزاماً به پاسخ 403 منجر نمی‌شود. اگر مجاز است، همان صفحه را با شبکه دیگری آزمایش کنید و نتیجه را مقایسه کنید.

راه حل پنجم: با شرکت ارائه دهنده سرویس اینترنتی تماس بگیرید.

اگر مشکل فقط در یک شبکه رخ می‌دهد، زمان و آدرس دقیق را به پشتیبانی سایت بدهید. آن‌ها می‌توانند محدودیت IP را در سرور بررسی کنند. در صورت مشاهده شواهد مشکل شبکه، موضوع را با ارائه‌دهنده اینترنت هم پیگیری کنید.

راه حل ششم: CDN را غیر فعال کنید.

برای خطا در تصاویر، CSS یا JavaScript، آدرس همان منبع را بررسی کنید. لاگ CDN و قوانین حفاظت از منابع را با سرور اصلی مقایسه کنید. خاموش کردن کامل CDN می‌تواند حفاظت و کش سایت را مختل کند؛ آزمایش محدود و هماهنگ با میزبان انجام دهید.

راه حل هفتم: از مرورگر دیگری استفاده کنید.

صفحه را در مرورگر دیگری باز کنید. اگر آنجا درست نمایش دارد، افزونه‌های مرورگر، نشست ورود و داده‌های همان سایت را بررسی کنید. این مقایسه به محدود کردن دامنه عیب‌یابی کمک می‌کند.

راه حل هشتم: محدودیت های IP را بررسی کنید.

در پنل هاست، فهرست محدودیت‌های IP را بررسی کنید. فقط زمانی قانون را تغییر دهید که مالک سایت هستید و دلیل مسدودسازی را می‌شناسید. برای قانون امنیتی، ابتدا با مسئول آن هماهنگ کنید.

راه حل نهم: DNS را بازنشانی کنید.

اگر دامنه اخیراً جابه‌جا شده، پاسخ DNS و سروری را که درخواست به آن می‌رسد بررسی کنید. پاک کردن کش محلی DNS تنها در صورت قدیمی بودن رکورد کش‌شده کمک می‌کند؛ راه‌حل عمومی پاسخ 403 نیست.

راه حل دهم: افزونه های وردپرس را غیرفعال کنید.

افزونه امنیتی ممکن است قانون رد دسترسی ایجاد کند. روی کپی آزمایشی و پس از بکاپ، افزونه مشکوک را تک‌به‌تک آزمایش کنید. افزونه‌ها را دسته‌جمعی در سایت اصلی خاموش نکنید؛ پس از هر آزمایش وضعیت و لاگ را کنترل کنید.

راه حل یازدهم:  A Record را تأیید کنید.

رکورد A یا AAAA دامنه را با مقصد مورد تأیید میزبان تطبیق دهید. اگر دامنه به سرور اشتباه برسد، ممکن است میزبان آن درخواست را رد کند. هنگام استفاده از CDN، رکورد عمومی لزوماً همان IP سرور اصلی نیست.

نتیجه

برای رفع خطای ۴۰۳، ابتدا منبع پاسخ و دامنه مشکل را مشخص کنید. سپس مجوز فایل، قوانین وب‌سرور، WAF، نشست کاربر و مسیر DNS را به‌ترتیب بررسی کنید. هر تغییر را ثبت و امکان بازگشت را حفظ کنید. اگر به مدیریت زیرساخت نیاز دارید، صفحه سرور ابری ابر آراد و مسیر تماس با تیم را بررسی کنید. انتخاب سرویس به‌تنهایی همه خطاهای دسترسی برنامه را برطرف نمی‌کند.

برای بررسی لایهٔ میزبانی و کنترل‌های وب هنگام عیب‌یابی، صفحهٔ فایروال وب WAF را بررسی کنید. امکانات، محدودیت‌ها و شرایط هر سرویس را از صفحهٔ جاری همان محصول بخوانید و صرفاً از توضیح کلی این مقاله نتیجه‌گیری نکنید.

قدم بعدی شمابرای انتخاب سرویس، درباره نیاز پروژه صحبت کنیم.

از صفحه تماس ابر آراد، مسیر ارتباط با تیم را انتخاب کنید.

گفت‌وگو با تیم آراد
به انتهای این مقاله رسیدید. مسیر یادگیری را با مقاله‌های دیگر ادامه دهید.
گفت‌وگو درباره این مقاله

دیدگاه‌ها و پرسش‌های شما

تجربه یا پرسش خود را درباره موضوع مقاله با ما در میان بگذارید.

هنوز دیدگاهی ثبت نشده است؛ شما گفت‌وگو را شروع کنید.

دیدگاه خود را بنویسید

نشانی ایمیل شما نمایش داده نمی‌شود. فیلدهای ستاره‌دار الزامی هستند.