آشنایی با خطای HTTP 403 و راه حل برطرف نمودن آن

خطای HTTP 403

خطای HTTP 403 چیست؟

خطای HTTP 403 یکی از خطاهای رایج در کلاس 4xx بوده که از سمت کاربر یا (Client Side) می‌باشد. علیرغم این که خطای فوق در کلاس 4xx قرار داشته اما به طور معمول علت اصلی روز آن از سمت سرور می باشد. این خطا زمانی پدیدار می شود که وب سرور بنابه هر دلیلی امکان دسترسی شما را محدود نموده و از دسترسی به منبع مورد نظر ممانعت می نماید و در این صورت هیچگونه گزارش تکمیلی و یا علت قطعی بروز خطا به کاربر نمایش داده نمی‌شود. این در حالی است که در وب سرور IIS این گزارش به صورت خلاصه وار ممکن است نمایش داده شود.

در خطای HTTP 403 درخواستی که از سمت کاربر و از مرورگر وب او به وب سرور ارسال می‌شود، توسط وب سرور به صورت صحیح شناخته می‌شود، ولی به سبب آن که دسترسی شما از طریق پیکربندی‌های وب سرور، تنظیمات سایت و غیره محدود گشته است، این خطا به کاربر ارسال می گردد. در مثالی ساده می توان کلیات خطای HTTP 403 را بدین شرح بیان نمود: فرض کنید که شخصی موس یا هر شئ دیگر شما را درخواست نماید، ضمن این که شما درخواست او مبنی بر استفاده شئ مورد نظر را از سمت وی بطور کامل متوجه شده اید ولی بنا به هر دلیلی مایل به این کار نیستید و از دسترسی او به شئ درخواست شده جلوگیری کرده و از استفاده آن ممانعت می نمایید.

 

خطای HTTP 403

 

نشانه‌های بروز خطای HTTP 403

خطای HTTP 403 یا همان خطای Forbidden در واقع خطای داخلی سرور می‌باشد. این خطا ممکن است در تمامی سیستم عامل‌ها و مرورگرهای وب اعم از قدیمی یا جدید بروز نماید، چرا که این خطا با این که از کلاس 4xx و سمت کاربر می باشد،اغلب دلیل اصلی بوجود آمدن آن از سمت سرور است. برخی از شناخته شده ترین پیغام‌های خطای HTTP 403 در مرورگرهای وب مواردی همچون عبارات زیر می باشد:

  • Forbidden 403
    Forbidden
    Error 403
    HTTP 403
    Access is denied
    Forbidden: Access is denied
    403 That’s an error (در وب سرورهای گوگل)
    0x80244018 (در وب سرورهای آپدیت مایکروسافت همراه با عبارت WU_E_PT_HTTP_STATUS_FORBIDDEN)
    The website cannot display the page (در مرورگر وب اینترنت اکسپلورر، با عنوان “403”)
    You don’t have permission to access [URL] on this server

دلایل روبرو شدن با خطای HTTP 403:

علت بروز این خطا، همانگونه که شرح داده شد، غالبا به طور کامل مشخص و معین نمی‌شود و وب سرور صرفا به بیان عبارت “شما اجازه دسترسی به این منبع را ندارید” اکتفا می‌نماید (در وب سرور IIS معمولاً کدهای 403.8 و 403.2 نمایش داده می‌شوند. IIS اطلاعات مختصری نیز راجع به علت خطا به کاربر نمایش می‌دهد).

حتما بخوانید  محبوب‌ترین وب سایت های مبتنی بر وردپرس

مهمترین علل بروز این خطا عبارت‌اند از:

IP غیرمجاز: ممکن است سرور بنابه دلایلی آی پی شما یا یک منطقه خاص (مثلاً آی پی های یک کشور) را بلاک کند. در این صورت به احتمال بسیار زیاد با خطای HTTP 403 مواجه خواهید شد. 403.6 کد این مورد در وب سرور IIS است.
جلوگیری از لیست کردن پوشه‌ها: وب سرور ممکن است به خاطر حفظ امنیت خود (مثلاً جلوگیری از مشاهده فایل‌های مخفی یا فایل‌هایی که برای استفاده داخلی طراحی شده اند)، از لیست کردن فایل‌های موجود در یک پوشه جلوگیری کند. این مورد زمانی اتفاق می‌افتد که به صورت مستقیم به آدرس یک پوشه مراجعه کنید. 403.14 کد این مورد در وب سرور IIS است.
ممکن است دسترسی (Permission) ثبت شده برای فایل‌ها یا منابع یک سایت به گونه‌ای باشد که از استفاده کاربر از آن منبع جلوگیری کند. برای مثال ممکن است پرمیژن یک فایل یا فولدر به گونه‌ای باشد که جلوی “اجرا شدن” یک فایل را بگیرد (403.1 در IIS) یا به گونه‌ای باشد که جلوی “خوانده شدن” آن را بگیرد (403.2 در IIS) یا به گونه‌ای باشد که جلوی نوشته شدن بر روی آن فایل را بگیرد (403.3 در IIS).
سه مورد بالا معمولاً دلیل بوجود آمدن خطای HTTP 403 می‌باشد اما موارد اضافی نیز وجود دارد که ممکن است باعث بوجود آمدن این خطا شود که عبارت اند از:

ممکن است فایل htaccess موجود بر روی سایت از دسترسی بازدیدکنندگان به یک منبع، صفحه یا پوشه خاص جلوگیری کند (معمولاً کد 403.8 در IIS).
ممکن است استفاده از آن منبع فقط در حالت امن SSL امکان پذیر باشد. در این گونه موارد نیز احتمالاً با خطای HTTP 403 مواجه می‌شود. (کدهای 403.4 و 403.5 در IIS)
ورود غیرمجاز: البته معمولاً در این حالت خطای 401 نشان داده می‌شود اما گاهاً به دلایلی خطای HTTP 403 نشان داده می‌شود. مانند زمانی که شما نیاز به ورود به حساب کاربری خود برای دسترسی به یک منبع خاص را داشته باشید.
ممکن است درخواست‌های زیادی از طرف یک آی پی مشخص به سرور ارسال شده باشد. در این صورت سرور برای حفظ آپ بودن خود، طبق پیکربندی‌هایش، از دسترسی کاربر به سایت جلوگیری می‌کند (403.502 در IIS).

 

خطای HTTP 403

 

برطرف کردن خطای HTTP 403:

صاحب سایت / سرور:

چنانچه شما صاحب وب سایت یا سروری هستید که با خطای HTTP 403 مواجه شده است، برای رفع این خطا مراحل زیر را انجام دهید.

حتما بخوانید  هاست نامحدود! واقعیت یا دروغ؟

در آغاز اطمینان کسب نمایید که دسترسی پرمیژن یا Permission  فایل‌ها و همچنین پوشه‌ها، متناسب با محتوای فایل و حساسیت آنها باشد. بطور معمول وجود نداشتن پرمیژن “خواندن” سبب بوجود آمدن این خطا می‌شود. همچنین پرمیژن‌های “نوشتن” و “اجرا کردن” را نیز بر اساس نیازهای وب سایت خود تنظیم نمایید. برای وب سایت‌های مبتنی بر وردپرس پیشنهاد می شود لینک مقاله مربوط را در مخزن وردپرس مشاهده نمایید.

سپس در گام بعدی اطمینان حاصل کنید که فایل htaccess موجود در ریشه وب سایت، دسترسی ها را محدود نکند. البته به این موضوع توجه داشته باشید که این پیکربندی‌ها را باید مطابق با نیاز خود ایجاد نمایید. محدود نمودن بیش از حد دسترسی به فایل ها موجب بروز چنین خطاهایی شده و این در حالی است که محدود نبودن آنها نیز ممکن است امنیت وب سایت شما را به مخاطره بیندازد. بمنظور آشنایی بیشتر و کسب اطلاعات کامل راجع به این فایل می‌توانید به لینک آموزش فایل htaccess در وب سرور آپاچی مراجعه نمایید. حال ممکن است در این فایل یک فولدر طبقه بندی شده یا آیتم‌ها و فایل‌های موجود توسط دستوراتی همچون deny from all یا جلوگیری از دسترسی همه و یا deny from yyy.yyy.yyy.yyy جلوگیری از دسترسی یک آی پی محدود شوند. البته محدود نمودن IP های زیاد بطور معمول از طریق این فایل صورت نمی گیرد.

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

برای وب سایت خود پرونده‌های پیشفرض (Default Documents) انتخاب نمایید، که در این صورت از لیست کردن پوشه‌هایتان می‌توانید جلوگیری نمایید، مخصوصا در زمانی که نشانی مستقیم پوشه وارد شده باشد. شما همچنین بمنظور آموزش و یادگیری این موضوع در IIS می توانید به لینک “نحوه برطرف کردن خطای 403.14” در وب سایت مایکروسافت مراجعه نموده و اطلاعات بیشتری در این زمینه دریافت نمایید. این مورد نیز می‌تواند از طریق htaccess مشخص شود.

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

منبع: درساوب