خطا 403 Forbidden

خطای 403 (Forbidden) از خطاهای HTTP بوده و زمانی که یک وب سرور بنابه دلایلی دسترسی شما را محدود کند، این کد را باز می‌گرداند. (+ نحوه برطرف کردن آن)

نشانه‌های خطای 403

خطای 403 (Error 403) یا همان خطای Forbidden به معنای “خطای سرور داخلی” می‌باشد. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته می‌شود. خطای 403 ممکن است در همه سیستم عامل‌ها با همه مرورگرهای قدیمی یا جدید پدیدار شود چون این خطا با این که از کلاس 4xx (سمت کاربر) است اما معمولاً دلیل بوجود آمدن آن از سمت سرور می‌باشد. از جمله رایج ترین پیغام‌های آن در مرورگرها موارد زیر است:

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.

403 Error example

یک خطای 403 عادی

خطای 403 چیست؟

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

در خطای 403 درخواستی که از طرف کاربر (مثلاً مرورگر وی) به وب سرور ارسال می‌شود، توسط وب سرور به صورت کاملاً درست شناخته می‌شود اما به دلیل این که دسترسی شما از طریق پیکربندی‌های وب سرور، تنظیمات سایت و … محدود شده است، این خطا را به کاربر ارسال می‌کند. درواقع این خطا مانند این است که کسی درخواست استفاده از خودکار (یا هر وسیله دیگر) شما را بکند. با این که شما درخواست وی را کاملاً متوجه شده‌اید اما به هر دلیلی به وی جواب “نه” گفته و از دسترسی او به وسیله ذکر شده، جلوگیری می‌کنید.

خطای 403 در سرویس گوگل پلی (Google Play) در دستگاه اندرویدی

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

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

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

سه مورد بالا معمولاً دلیل بوجود آمدن خطای 403 می‌باشد اما موارد اضافی نیز وجود دارد که ممکن است باعث بوجود آمدن این خطا شود که عبارت اند از:

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

Google 403 error

خطای 403 در سرورهای گوگل

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

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

درصورتی که شما صاحب سایت یا سرور هستید، برای برطرف کردن خطای 403، این مراحل را بپیمائید:

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

در مرحله بعدی مطمئن شوید که فایل htaccess موجود در ریشه سایت، دسترسی را محدود نکند. البته همیشه در نظر داشته باشید که این پیکربندی‌ها را باید مطابق با نیاز خود انجام دهید. محدود کردن بیش از حد باعث بوجود آمدن چنین خطاهایی شده و محدود نبودن آن نیز ممکن است امنیت سایت را به خطر بیندازد. برای اطلاعات بیشتر درباره این فایل می‌توانید به لینک “آموزش فایل htaccess آپاچی” مراجعه کنید. در این فایل ممکن است یک فولدر طبقه بندی شده یا آیتم‌ها و فایل‌های موجود توسط دستوراتی مانند “deny from all” (جلوگیری از دسترسی همه) یا “deny from yyy.yyy.yyy.yyy” (جلوگیری از دسترسی یک آی پی) محدود شوند. البته محدود کردن آی پی های زیاد معمولاً از طریق این فایل انجام نمی‌شود.

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

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

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

این مطالب فقط برای افزایش آگاهی کاربران بوده و این سایت هیچ گونه مسئولیتی در قبال هرگونه استفاده از مطالب را ندارد. صفحه شرایط و ضوابط را حتماً بخوانید. با توجه به این که این خطا جزو خطاهای سمت کاربر است اما دلیل آن معمولاً از سمت سرور است، کاربر برای رفع آن کار زیادی نمی‌تواند انجام دهد. قبل از هر چیزی از این دو سرویس (سرویس اول | سرویس دوم) استفاده کنید تا مشخص شود که سایت مورد نظر واقعاً دارای مشکل است یا مشکل فقط از سمت شماست. در هر صورت بهتر است موارد زیر را انجام دهید:

ابتدا مطمئن شوید IP آدرس شما در لیست سیاه وبسایت قرار نگرفته است. در غیر این صورت به احتمال 90% با این خطا مواجه شوید. برای رفع این مشکل می‌توانید با مدیریت سایت مورد نظر صحبت کنید. همچنین می‌توانید با تغییر دادن IP خود (مثلاً با ریستارت کردن مودم، درصورتی که آی پی شما ثابت نباشد) و یا با درخواست از ISP خود، یک IP جدید دریافت کنید که ممکن است شامل هزینه نیز باشد. به این ترتیب ممکن است بتوانید از سایت مورد نظر با قبول کردن تمامی مسئولیت‌های آن استفاده کنید. همچنین درصورتی که از پراکسی (Proxy) یا برنامه‌های مشابه استفاده می‌کنید، آن را بسته و تنظیمات شبکه مرورگر خود را به صورت پیشفرض تنظیم کنید. به احتمال زیاد بتوانید از سایت مورد نظر استفاده کنید.

درصورتی که سایت مورد نظر امکان ورود داشته باشد، وارد حساب خود شوید تا نهایت دسترسی خود را داشته باشید؛ چون گاهاً خطای 403 بجای خطای 401 استفاده شود.

آدرس صفحه (URL) را چک کنید و یک بار علامت اسلش (/) آخر آن (در صورت وجود) را برداشته و دوباره امتحان کنید همچنین مسیر صفحات پیشفرض مثل index.php و index.html را نیز به آخر آن اضافه کرده و دوباره امتحان کنید؛ چون ممکن است از لیست شدن پوشه‌های جلوگیری شود.

درصورتی که به محتوای آن صفحه نیاز دارید می‌توانید از نسخه کش شده آن استفاده کنید. برخی از سرویس‌های اینترنتی صفحات وبسایت را به صورت کش ذخیره کرده و به کاربران نشان می‌دهند. برای مشاهده آموزش و توضیحات بیشتر به پست “مشاهده نسخه پیشین یک صفحه یا وبسایت” مراجعه کنید.

کش مرورگر خود را پاک کنید زیرا ممکن است این مشکل صفحه مورد نظر حل شده باشد ولی محتوای صفحه خطا همچنان به کاربر نشان داده شود. برای آموزش و توضیحات بیشتر به لینک مربوط به هر یک از این مرورگرها بروید: اینترنت اکسپلورر (اینترنت اکسپلورر)، گوگل کروم (گوگل کروم)، موزیلا فایرفاکس (موزیلا فایرفاکس)، اپرا (اپرا). تغییر دادن سرویس DNS نیز می‌تواند موثر باشد؛ چون ممکن است مشکل از DNS ثبت شده برای آن سایت باشد.

ارور 401 Unauthorized

این خطا زمانی رخ می دهد که کاربری بدون آگاهی از اطلاعات لاگین (نام کاربری و رمز عبور مربوطه) بخواهد به منبع یا صفحه ای که توسط HTTP Authentication محافظت شده دسترسی داشته باشد.

اخطار «بدون مجوز»، کدی است که به معنای دسترسی غیر مجاز است. یعنی اینکه شما تلاش می کنید صفحه ای را باز کنید که نیاز به سطح دسترسی خاصی دارد و احتمالا لازم است قبل از لود شدن آن، ابتدا با نام کاربری و رمزعبور معتبر در سایت لاگین کرده و وارد شوید.

اگر شما با اکانت کاربری تان وارد سایت شده اید و باز هم با چنین پیغامی (۴۰۱) مواجه می شوید، بدان معنی است که شما اختیارات لازم برای مشاهده این بخش از سایت را ندارید، یا اینکه نام کاربری و رمزعبور شما متعلق به این سایت نیست و شاید هم شما آنها را اشتباه وارد می کنی

آموزش نمایش خطاها در وردپرس

گاهی مواقع مشکلی برای سایتی وردپرس ایجاد می شود که این مشکلات می تواند از پلاگین ها و یا قالب و یا … باشد برای مشاهده اینکه در کجا این خطاها وجود دارد باید نمایش خطا در وردپرس را فعال کنیم

در سیستم مدیریت محتوای وردپرس کافیست به هاست و سپس File Manager بروید در محل نصب وردپرس، فایل wp-config.php را در حالت ویرایشگر مربوط به هاست باز کنید و کد زیر را آن پیدا کنید:

define(‘WP_DEBUG’, false);

حالا کد زیر جایزیگن کد بالا کنید:

// define(‘WP_DEBUG’, false);

define(‘WP_DEBUG’, true);

define(‘WP_DEBUG_LOG’, true);

define(‘WP_DEBUG_DISPLAY’, false);

@ini_set(‘display_errors’, 0);

آموزش نمایش خطاها در جوملا

غیر فعال کردن Display error و یا Error reporting در سیستم مدیریت مجتوای جوملا بسیار رایج است.

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

روش اول

پس از ورود، در بخش System به Global Configuration رفته و در قسمت Server تنظیمات دلخواه را بر روی Error reporting اعمال نمایید. سپس اقدام به ذخیره سازی تغییرات فرمایید.

روش دیگر

تغییرات بر روی فایل های تنظیمات اعمال می گردد. برای این کار ابتدا به مسر نصب جوملا در هاست و سپس File manager بروید و فایل Configuration.php را در حال ویرایش باز کنید.

سپس در مقابل error_reporting مقدار E_ALL | E_STRICT را که کامل ترین شرایط را نشان می دهد قرار دهید. سپس تغییرات را ذخیره کنید و اقدام به مشاهده سایت نمایید.