شاید برای شما هم پیش آمده باشد که هنگام بازدید از دایرکتوری خالی وب سایت یا صفحه خاصی که دارای خطای مجوز است، با خطای 403 forbidden مواجه شدید. این خطا به دلایل مختلفی ایجاد شده و پیغامی به کاربر نمایش میدهد. معمولا اکثر وب سایتها به گونهای تنظیم شدهاند که مرور دایرکتوری را برای جلوگیری از دسترسی مهاجمان به فایلهای حساس ممنوع کنند.
با این حال، اگر شما یا بازدید کنندگانتان با این خطا در سایت خود مواجه شدید، باید این مشکل را برطرف کنید وگرنه ترافیک ارزشمند سایت خود را از دست میدهید. ممکن است خطر از دست دادن ترافیک ارزشمند را داشته باشید. علتهای مختلفی برای بروز خطای 403 وجود دارد که هر کدام با روشهای متفاوتی رفع میشوند. در ادامه به بررسی این خطا و نحوه رفع آن میپردازیم.
خطای 403 چیست؟
ابتدا باید ببینم ارور 403 چیست و سپس به دنبال علتها و راهکارهای رفع آن باشیم. زمانی که وب سرور به هر دلیلی اجازه دسترسی شما به صفحهای را که از طریق مرورگر قصد مشاهده آن را دارید، صادر نکند، با خطای 403 یا ارور forbidden 403 روبرو میشوید. این خطا به معنای عدم دسترسی است و معمولا به شکل زیر نمایش داده میشود.
علت به وجود آمدن خطای 403 چیست؟
بیشتر خطاهای ممنوعه HTTP 403 به دلیل پیکربندی نادرست دسترسی در سمت سرویس گیرنده ایجاد میشوند. در این شرایط با ترفندهای سادهای میتوانید مشکل را برطرف کنید. دلایل مختلفی برای این خطا وجود دارد که در ادامه به بررسی آنها میپردازیم.
- یکی از دلایل رایج این خطاها تنظیمات مجوز فایل یا پوشه است. این تنظیمات کنترل میکند که چه کسی میتواند فایل یا پوشه را بخواند، بنویسد و اجرا کند. در این مورد دو احتمال وجود دارد: یا مالک وب سایت تنظیمات را طوری ویرایش کرده است که شما نتوانید به منابع دسترسی داشته باشید و یا مجوزهای صحیح را تنظیم نکرده است.
- دومین دلیل رایج، تنظیمات خراب یا نادرست در فایل htaccess. است. این مشکل ممکن است پس از ایجاد تغییرات در فایل رخ دهد. خوشبختانه، حل این خطای سرور با ایجاد یک فایل پیکربندی جدید امکان پذیر است.
به غیر از این دو دلیل رایج، در اینجا برخی از موارد احتمالی دیگر برای خطای 403 وجود دارد:
- صفحه ایندکس وجود ندارد: نام صفحه اصلی وب سایت index.html یا index.php نیست.
- پلاگین وردپرس خراب است: اگر یک افزونه وردپرس به درستی پیکربندی نشده باشد یا با افزونه دیگری ناسازگار باشد، ممکن است خطاهای 403 را ایجاد کند.
- آدرس IP اشتباه است: نام دامنه به یک آدرس IP اشتباه یا قدیمی اشاره میکند که اکنون میزبان وب سایتی است که دسترسی شما را مسدود میکند.
- نفوذ بدافزار: یک بدافزار ممکن است باعث ایجاد مشکل و خرابی htaccess. شود. قبل از بازیابی فایل، باید بدافزار را حذف کنید.
- لینک صفحه وب جدید: مالک سایت ممکن است لینک صفحه را به روز کرده باشد، که اکنون با نسخه ذخیره شده متفاوت است.
چگونه خطای 403 را برطرف کنیم؟
از آنجایی که خطای HTTP 403 ارتباط نزدیکی با مجوزهای دسترسی به فایل دارد، تمرکز اصلی روشهای زیر برای حل آنها خواهد بود. با این حال، راههای دیگری برای حل این مشکل وجود دارد، مانند پاک کردن حافظه پنهان مرورگر یا اسکن سیستم برای پیدا کردن برای بدافزار.
روشهایی که در ادامه برای رفع ارور 403 بیان شدهاند بیشتر با تمرکز بر روی وردپرس هستند، اما میتوانید برای سایر وب سایتها نیز امتحان کنید.
فایل htaccess را بررسی کنید
ممکن است با فایل htaccess آشنا نباشید، زیرا معمولا در فهرست سایت پنهان میماند. با این حال، در بیشتر اوقات، فایل به طور پیش فرض در پوشه public_html شما موجود است.
برای پیدا کردن آن مراحل زیر را دنبال کنید:
File Manager را در داشبورد hPanel پیدا کنید.
دایرکتوری public_html را باز کنید تا فایل .htaccess را پیدا کنید.
اگر از cPanel استفاده میکنید، ابتدا فایل منیجر را در سی پنل پیدا کنید.
در پوشه public_html به دنبال فایل .htaccess بگردید.
اگر فایل را پیدا نکردید، روی Settings در گوشه سمت راست بالای صفحه کلیک کنید و گزینه Show Hidden Files (dotfiles) را فعال کنید.
فایل .htaccess یک فایل پیکربندی سرور است و عمدتاً با تغییر تنظیمات وب سرور آپاچی کار میکند.
اگر چه این فایل به طور پیشفرض در اکثر وبسایتها وجود دارد، اما اگر وبسایت شما آن را ندارد یا اگر ناخواسته حذف شده است، باید به صورت دستی یک فایل htaccess. جدید ایجاد کنید.
پس از پیدا کردن فایل، این مراحل را دنبال کنید تا بررسی کنید که آیا پیکربندی اشتباه باعث ایجاد خطا شده است یا خیر:
روی فایل کلیک راست کرده و گزینه Download را انتخاب کنید تا یک نسخه پشتیبان ایجاد شود.
پس از تهیه نسخه پشتیبان، فایل را حذف کنید.
در این مرحله باید سعی کنید به وب سایت خود دسترسی پیدا کنید. اگر سایت به درستی کار کند، نشان میدهد که فایل خراب شده است.
برای ایجاد یک فایل htaccess جدید، وارد داشبورد وردپرس خود شوید و روی تنظیمات -> پیوندهای ثابت کلیک کنید.
بدون ایجاد هیچ تغییری، روی دکمه Save Changes در پایین صفحه کلیک کنید.
به این صورت یک فایل .htaccess جدید برای وب سایت شما ایجاد میشود.
بازنشانی مجوزهای فایل و دایرکتوری
یکی دیگر از دلایل احتمالی که باعث ایجاد خطاهای HTTP 403 میشود، مجوزهای نادرست برای فایلها یا پوشهها است. به طور کلی، زمانی که فایلها ایجاد میشوند، مجوزهای فایل پیشفرض خاصی دارند که نحوه خواندن، نوشتن و اجرای آنها را کنترل میکند.
استفاده از FTP به شما امکان میدهد مجوزهای فایل و پوشه را ویرایش کنید. برای این کار مراحل زیر را دنبال کنید:
یک کلاینت FTP را پیکربندی کنید و آن را به وب سایت خود متصل کنید.
پس از اتصال، روی public_html راست کلیک کرده و File Attributes را انتخاب کنید.
مجوز 755 را در قسمت Numeric value وارد کنید، Apply to Directory only را انتخاب کنید و OK را فشار دهید.
روش کلی برای مقادیر عددی مجوز فایل استفاده از 755 برای پوشهها، 644 برای محتوای ثابت و 700 برای محتوای پویا است.
پس از تغییر مجوزهای پوشه، مرحله 2 و مرحله 3 را تکرار کنید، اما اکنون در قسمت Numeric value عدد 644 را وارد کرده و گزینه Apply to files only را انتخاب کنید.
پس از اتمام مراحل، سعی کنید به وب سایت خود دسترسی پیدا کنید و ببینید آیا خطا برطرف شده است.
افزونههای وردپرس را غیرفعال کنید
اگر مراحل بالا تأثیری در رفع خطای 403 نداشتند، به احتمال زیاد خطا ناشی از یک افزونه ناسازگار یا معیوب است. در این مرحله سعی میکنیم افزونهها را غیرفعال کنیم تا بررسی کنیم که آیا، ارور 403 forbidden برطرف میشود یا خیر.
ابتدا همه افزونهها را به ترتیب غیرفعال کنید. به این صورت، شما باید بتوانید مشکل را تشخیص دهید و برای حل آن تلاش کنید.
از طریق FTP به حساب میزبانی خود دسترسی پیدا کرده یا از مدیر فایل حساب میزبانی استفاده کنید و به پوشه public_html -> wp-content بروید.
پوشه پلاگینها را پیدا کنید.
نام پوشه را با نام دیگری مانند “disabled-plugins” تغییر دهید تا همه افزونهها غیرفعال شوند.
سعی کنید دوباره به وب سایت دسترسی پیدا کنید. اگر خطا دیگر وجود نداشته باشد، یک افزونه مشکل ساز خطا است. نام پوشه را به پلاگینها تغییر دهید تا همه افزونهها دوباره فعال شوند.
اکنون باید افزونهها را یکی یکی از داشبورد وردپرس خود غیرفعال کنید و بررسی کنید که آیا سایت کار میکند یا خیر. به این ترتیب میتوانید پلاگین معیوب را پیدا کنید. پس از پیدا کردن میتوانید آن را حذف یا به روز رسانی کنید.
یک صفحه ایندکس آپلود کنید
نام صفحه اصلی وب سایت خود را بررسی کنید، این نام باید index.html یا index.php باشد. اگر این نام چیز دیگری باشد، دو گزینه وجود دارد. اولین و سادهترین روش تغییر نام صفحه اصلی به index.html یا index.php است.
با این حال، اگر میخواهید نام صفحه اصلی فعلی را حفظ کنید، یک صفحه فهرست را در فهرست راهنمای public_html خود آپلود کنید و یک تغییر مسیر به صفحه اصلی موجود خود ایجاد کنید.
مراحل انجام این کار به صورت زیر است:
یک فایل index.html یا index.php را در پوشه public_html خود آپلود کنید. برای این کار از مدیر فایل یا FTP حساب میزبانی خود استفاده کنید.
فایل htaccess را باز کنید.
این قطعه کد را برای تغییر مسیر فایل index.php یا index.html به صفحه اصلی موجود خود وارد کنید. فراموش نکنید که homepage.html را با نام واقعی صفحه جایگزین کنید.
ویرایش مالکیت فایل
اگر از میزبانی وب لینوکس یا VPS استفاده میکنید، مالکیت نادرست فایل میتواند خطای 403 forbidden را ایجاد کند.
به طور معمول، فایلها و پوشهها را میتوان به یک مالک، یک گروه یا هر دو اختصاص داد. به خاطر داشته باشید که برای تغییر مالکیت در این محیطها به دسترسی SSH نیاز دارید. همچنین برای اتصال به VPS به یک ترمینال SSH نیاز دارید.
هنگامی که SSH را به سرور وب سایت خود وصل کردید، با استفاده از این دستور SSH مالکیت را بررسی کنید:
نتیجه چیزی شبیه به این خواهد بود:
به مالک و قسمت گروه نگاه کنید. مالکیت صحیح باید نام کاربری حساب میزبانی شما باشد. اگر مالکیت متفاوتی میبینید، از دستور chown Linux برای تغییر مالکیت فایل استفاده کنید.
A Record را بررسی کنید
گاهی اوقات خطای 403 forbidden در صورتی رخ میدهد که نام دامنه شما به آدرس IP اشتباه اشاره کند، جایی که شما اجازه مشاهده محتوا را ندارید. بنابراین، باید بررسی کنید که نام دامنه شما به آدرس IP صحیح اشاره داشته باشد.
برای بررسی این موضوع مراحل زیر را دنبال کنید:
وارد hPanel خود شوید.
به قسمت Advanced رفته و روی DNS Zone Editor کلیک کنید.
لیستی از رکوردهای DNS را مشاهده خواهید کرد. یک رکورد با برچسب A در ستون نوع پیدا کنید.
آدرس IP را در ستون Content بررسی کنید.
اگر به آدرس IP اشتباه اشاره دارد، برای تغییر آن روی Edit کلیک کنید. پس از اتمام کار، روی Update کلیک کنید.
اگر رکورد صحیح را پیدا نکردید، یک رکورد جدید از بخش مدیریت رکوردهای DNS ایجاد کنید. بادی مطمئن شوید که A را به عنوان نوع انتخاب کردهاید و آدرس IP صحیح را در قسمت Points to وارد کنید. سپس روی Add Record کلیک کنید.
اگر به تازگی میزبان وب خود را تغییر داده، اما نام سرورهای خود را تغییر ندادهاید، ممکن است دامنه شما همچنان به میزبان وب قدیمی شما اشاره کند. هنگامی که هاست قدیمی حساب شما را لغو میکند، باعث ایجاد کد وضعیت خطای 403 میشود.
به منظور پیدا کردن بدافزار فایلها را اسکن کنید
بدافزار میتواند یکی دیگر از دلایل خطای 403 باشد. اگر سایت وردپرس شما توسط نرم افزارهای مخرب آلوده شود، ممکن است دائما کدهای ناخواسته را به فایل htaccess. تزریق کند. به این ترتیب، حتی اگر با استفاده از روش اولی که ارائه کردیم، فایل را اصلاح کنید، خطاها همچنان ادامه خواهند داشت.
به منظور میتوانید وب سایت خود را اسکن کنید تا بدافزارها را در صورت وجود شناسایی کنید. افزونههای امنیتی زیادی برای وردپرس مانند Sucuri یا Wordfence وجود دارند که سایت را از نظر بدافزار بررسی میکنند.
اکثر افزونههای امنیتی وردپرس مانند WordFence میتوانند بدافزارها را حذف کنند. هنگامی که افزونه همه فایلهای آلوده را شناسایی کرد، گزینههای قابل اجرا برای این فایلها مانند حذف یا بازیابی آنها را دریافت خواهید کرد.
روش دیگر بازیابی وب سایت با استفاده از فایل های پشتیبان است. همچنین اگر نسخه پشتیبان کاملی از فایلهای سایت ندارید، میتوانید آن را با استفاده از پشتیبانگیری از پایگاه داده بازیابی کنید.
تاریخچه وب / کش خود را پاک کنید
حافظه پنهان و کوکیهای مرورگر شما نیز ممکن است باعث خطای 403 شود. کش دادهها را ذخیره میکند تا دفعه بعد که وب سایت را بازدید میکنید آنها را سریعتر بارگذاری و به شما نمایش دهد. با این حال، این امکان وجود دارد که پیوند وب سایت به روز شده اما پیوند واقعی صفحه وب اکنون با نسخه ذخیره شده متفاوت باشد. احتمال دیگر این است که خطا از کوکیها باشد.
پاک کردن کش مرورگر و کوکیها باید این مشکل را حل کند. البته توجه داشته باشید که پاک کردن کش باعث میشود که بازدید بعدی شما از وب سایت طولانی شود زیرا مرورگر شما دوباره همه فایلهای سایت را درخواست میکند. پاک کردن کوکی ها همچنین شما را از تمام وب سایتهای وارد شده خارج میکند.
برای پاک کردن کش و کوکیها در Google Chrome مراحل زیر را دنبال کنید:
روی نماد سه نقطه در گوشه سمت راست بالا کلیک کنید و تنظیمات را انتخاب کنید.
بخش Privacy and Security را پیدا کنید و روی Clear browsing data کلیک کنید.
از منوی کشویی برای انتخاب بازه زمانی حذف دادهها استفاده کنید. سپس گزینههای کوکیها و سایر دادههای سایت و تصاویر و فایلهای ذخیره شده را بررسی کنید.
روی پاک کردن دادهها کلیک کنید.
هنگامی که تمام مراحل را کامل کردید، سعی کنید مجدداً از وب سایت بازدید کرده و در صورت نیاز به سیستم وارد شوید. اگر همچنان با خطای 403 روبرو شدید، با پشتیبانی سایت خود تماس بگیرید.
سخن پایانی
فرقی ندارد وب سایت راه اندازی شده شما در بستر وردپرس باشد یا نه و میزبانی آن به چه صورت است. خطاها و ارورهای مختلفی وجود دارد که ممکن است با آنها روبرو شوید. حطای 403 یکی از موارد رایج است که به دلیل عدم دسترسی به فایلها نمایش داده میشود. این خطا به دلایل مختلفی رخ میدهد و هر کدام از آنها روش خاصی برای برطرف کردن دارند.
در این مقاله به طور مفصل به علت رخ دادن این خطا و نحوه برطرف کردن آن اشاره شد. در صورتی که پس از بررسی تمام موارد همچنان خطا نمایش داده شد، میتوانید با پشتیبانی سایت یا میزبان خود تماس بگیرید.
سوالات متداول
ارور 403 به چه معناست؟
پیغام خطای ممنوعه 403 به این معنی است که سرور نمیتواند به درخواست خاصی را که توسط کاربر انجام میشود مجوز دهد.
چه عواملی باعث به وجود آمدن خطای 403 میشود؟
خطای 403 Forbidden ممکن است ناشی از خرابی افزونه امنیتی، مجوزهای فایل نادرست یا فایل htaccess. خراب باشد.
آیا مشاهده خطای 403 بد است؟
پیام خطای 403 Forbidden نشانهای از اتفاق بد ذاتی برای وب سایت شما نیست. این خطا به این معنی است که مشکلی در تأیید درخواست شما برای دسترسی به فایلها یا صفحه خاصی در وب سایت شما وجود دارد.