زمانی که وب سرور به یک صفحه وب یا بخشی از محتوای وبسایت دسترسی نداشته باشد، خطای 403 Forbidden را نمایش می دهد. وب سرورهای مختلف ارور های مختلفی از خطای 403 Forbidden را نمایش میدهند. در این مقاله بررسی خواهیم کرد که خطای 403 چیست و چگونه میتوان آنرا رفع نمود.
خطای 403 Forbidden زمانی اتفاق میافتد که یک وب سرور دسترسی به یک صفحه وب را برای کاربری که تلاش میکند از طریق مرورگر وب به آن دسترسی پیدا کند، رد میکند، دلیل رد کردن درخواست ارسال شده از سمت کاربر توسط وب سرور دلایل متفاوتی میتواند داشته باشد که در ادامه موارد رایج را بررسی میکنیم.
انواع ارور های 403 :
مانند سایر خطاها، وب مسترها می توانند نحوه نمایش خطای 403 را در وبسایت خود سفارشی سازی کنند. محتویات آن نیز به وب سرور مورد استفاده بستگی دارد. به همین دلیل است که تعداد زیادی خطای 403 با متن های مختلف در وب سایت های مختلف وجود دارد.
برخی از خطا های رایج 403 عبارتند از:
- 403 Forbidden
- HTTP 403
- Forbidden
- HTTP Error 403 – Forbidden
- HTTP Error 403.14 – Forbidden
- Error 403
- Forbidden: You don’t have permission to access [directory] on this server
- Error 403 – Forbidden
- 403 Forbidden Error
- 403 Error
اما موارد رایجی که باعث دریافت خطای 403 می شود عبارتند از :
خالی بودن دایرکتوری وب سایت : در صورتی که هیچ فایل index.php و یا index.html در دایرکتوری سایت شما وجود نداشته باشد این خطا دریافت میگردد.
گم شدن فایل index : در صورتی که فایل index وب سایت شما با نام دیگری باشد این فایل شناسایی نمی شود و خطای 403 دریافت می شود.
Permission/ownership اشتباه: در صورتی که دسترسی و یا permission یک فایل یا یک فولدر که سعی در دسترسی به آن از طریق مرورگر دارید صحیح نباشد خطای عدم دسترسی و 403 دریافت خواهید کرد.
پیکربندی اشتباه فایل .htaccess : فایل htaccess. تنظیمات و پیکربندی های حیاتی وب سایت را در خود دارد و ممکن است در صورت پیکربندی اشتباه باعث دریافت خطای 403 در وب سایت گردد.
آلوده شدن وب سایت به بدافزار: در صورتی که وب سایت شما به بد افزار آلوده شده باشد ممکن هست بر روی فایل htaccess تاثیر گذار باشد.
کش بودن محتوا : در برخی موارد ممکن هست بخشی از محتوای وب سایت خود را آپدیت کنید اما پس از فراخوانی محتوای آپدیت شده با ارور 403 مواجه شوید دلیل این مورد کش شدن محتوای قبلی می باشد که در حال حاضر با آپدیت شدن محتوا دسترسی به آن ممکن نیست.
پلاگین ها:پیکربندی نادرست افزونه های وردپرس یا ناسازگاری آنها می تواند خطای 403 را ایجاد کند.
چگونه خطای 403 Forbidden را برطرف کنیم؟
بسته به اینکه بازدیدکننده وب سایت هستید یا مدیر وب سایت، می توانید چندین کار برای رفع خطای 403 Forbidden انجام دهید.
بررسی دایرکتوری وب سایت:
در صورتی که دایرکتوری وب سایت شما خالی باشد خطای 403 دریافت خواهید کرد.مطمئن شوید که محتوا در دایرکتوری صحیح سرور قرار دارد.
بسته به وب سروری که از آن استفاده می کنید، دایرکتوری صحیح برای محتوای شما به شکل زیر است:
وب سرور Nginx :
/var/www/vhosts/domain.com/httpdocs/
وب سرور Apache :
/home/username/public_html/
اگر دایرکتوری های بالا در سرور شما موجود نمی باشد میتوانید اقدام به ساختن آنها نمایید.
اضافه کردن صفحه ی index:
صفحه اصلی وب سایت به طور پیش فرض index.html یا index.php است. اگر چنین صفحه ای در وب سایت شما وجود نداشته باشد، بازدیدکنندگان ممکن است با خطای 403 مواجه شوند. این مشکل را با آپلود یک صفحه index در دایرکتوری httpdocs یا public_html خود حل کنید. اگر قبلاً یک صفحه اصلی به نامی غیر از index دارید، می توانید نام آن را تغییر دهید یا یک ریدایرکت در فایل htaccess. خود به صفحه اصلی تنظیم کنید.
برای تنظیم ریدایرکت در فایل htaccess ، از کد زیر استفاده نمایید:
redirect /index.html /homepage.html
مجوزهای فایل و دایرکتوری را بررسی کنید :
هر فایل و دایرکتوری در وب سایت شما دارای مجوزهایی است که دسترسی به آن فایل ها و دایرکتوری ها را کنترل می کند. مجوزهای فایل یا دایرکتوری نادرست می تواند باعث خطای 403 Forbidden شود. مجوزها مشخص می کنند که چه کسی به فایل یا دایرکتوری مورد نظر دسترسی خواندن یا نوشتن دارد.
مجوزها با مقادیر عددی نشان داده می شوند:
0755 برای دایرکتوری ها
0644 برای محتوای ثابت
0700 برای محتوای پویا
Permission فایل ها را میتوانید از طریق دستور Chmod تغییر دهید.
فعال سازی directory browsing
به منظور فعال سازی این مورد میتوانید مطابق راهنمای زیر با توجه به نوع وب سرور خود عمل نمایید:
- وب سرور IIS EXPRESS :
فایل config را در سرور خود باز نمایید. تگ زیر را در <system.webServer> وارد نمایید و فایل را ذخیره نمایید:
<directoryBrowse enabled=”true” /> <modules runAllManagedModulesForAllRequests=”true” />
- وب سرور Nginx :
در وب سرور nginx تنها کافی است پارامتر autoindex off را در فایل config به autoindex on تغییر دهید.
از دیگر روش های رایج رفع این ارور میتوان به موارد زیر اشاره نمود:
غیرفعال کردن فایل htaccess یا ساخت فایل htaccess جدید
اسکن کردن سرور به منظور حذف بد افزار ها
غیرفعال کردن پلاگین ها و یا تم
با ما در مقاله های آینده همراه باشید.
عالی بود ممنون از شما
خواهش میکنم سلامت باشید , اگر پیشنهادی بابت قرار دادن مقاله جدید در سایت دارید خوشحال میشیم با ما در میان بگذارید .
من چیزی متوجه نشدم وفعلا به خطای ۴۰۳ برخوردم به زبان ساده تر امکان توضیحش هست؟ ممنونم
برای زمانی که شما این خطا را مشاهده می فرمایید از فایل های دامنه شما می تواند باشد که ممکن است از عدم وجود فایل index.php و یا فایل index.html شما باشد اگر مشکل از عدم وجود این دوفایل نبود می توانید به بررسی فایل htaccess بپردازید برای بررسی می توانید یک مرتبه فایل را rename کرده و سایت را بررسی کنید اگر سایت بالا بود پس مشکل از همین فایل است اگر هم این مورد نبود می توانید به همین ترتیب فایل های پلاگین خود را rename کنید برای برطرف کردن این موضوع نیز موارد گفته شده در مقاله را به ترتیب برای هر قسمت که بود انجام دهید
من چیزی متوجه نشدم امکان توضیح ساده ترش هست؟ ممنونم
درود بله حتما
با سلام
این خطا میتواند از پرمیژن های سمت فولدر ها باشد و یا فایروال روی هاست
در کل سمت سرور باید مدیریت بشه و جز خطا های برنامه نویسی نیست
باسلام
ممنون از اطلاع رسانی شما اما در متن نیز در مورد تغییرات پرمیشنی و یا فایروال نیز توضیح داده ایم
یک لینک سایتی خارجی که فعالیت دارم وقتی روی لینک تماس با پشتیبانی کلیک میکنم برای من باز نمیشه و همین ارور 403 رو میده “با ip ایران وارد میشم” اما وقتی به vpn متصل میشم و لینک رو باز میکنم تماس با پشتیبانی باز میشه
چطوری میشه این مشکل رو برطرف کرد؟
این مورد به دلیل تحریم شدن ایران توسط وبسایت مورد نظر می باشد , شما میتوانید با استفاده از قرار دادن IP های تحریم شکن در آدرس dns خود این مورد را برطرف سازید
حسابم تو اینستا مسدود شده کسی وارد حسابم شده حساب منو چک کنید لطفا بخدا احد واحد دستکاری کردن من اهل خطا نیستم
برای مشکلی که باهاش مواجه هستید متاسفم. متاسفانه موردی که میفرمایید جزو خدمات سایت ما نیست و برای این مورد باید به یک فرد یا مجموعه متخصص در شبکههای اجتماعی ارتباط بگیرید. امیدوارم مشکلتون هر چه سریعتر برطرف بشه.