ممکن است هنگام بازدید از دایرکتوری خالی یک وبسایت یا صفحه خاصی که دارای خطای مجوز است، با ارور 403 Forbidden مواجه شوید. دلیل نمایش خطای 403 این است که اکثر وبسایتها بهگونهای تنظیم شدهاند که برای جلوگیری از دسترسی مهاجمان به فایلهای حساس، اجازه مرور فایلها در دایرکتوری را نمیدهند.
با این حال، اگر شما یا بازدیدکنندگانتان با این خطا در سایت خود مواجه شدید، باید این مشکل را برطرف کنید وگرنه ممکن است با خطر کاهش ترافیک سایت خود مواجه شوید. با توجه به اینکه دلایل مختلفی برای نمایش ارور 403 Forbidden وجود دارد، روشهای متعددی هم برای رفع آن وجود دارد. در این مطلب، ضمن معرفی و توضیح در مورد انواع ارور 403 Forbidden، علل احتمالی نمایش آن را نیز بررسی میکنیم و همچنین، ۸ روش برای رفع خطای 403 معرفی خواهیم کرد.
ارور 403 چیست؟
در پاسخ به اینکه ارور 403 چیست میتوانیم بگوییم نمایش این خطا یعنی شما اجازه دسترسی به این منبع را ندارید. این خطا، یک کد وضعیت HTTP است و زمانی رخ میدهد که وب سرور درخواست را بفهمد اما نتواند دسترسی را ارائه دهد. شما با مطالعه جدول زیر میتوانید اطلاعات جامعتری در مورد اینکه خطای 403 چیست بهدست بیاورید.
کد ارور | ارور 403 Forbidden |
نوع ارور | خطای سمت کلاینت |
شیوههای نمایش ارور | Forbidden: You don’t have permission to access [directory] on this server
HTTP Error 403 – Forbidden Error 403 – Forbidden 403 forbidden request forbidden by administrative rules 403 Forbidden Access Denied – You don’t have permission to access Error 403 HTTP 403 Forbidden |
دلایل ارور | عدم وجود فایل index
افزونههای خراب وردپرس IP آدرس اشتباه آلوده شدن به بدافزار تغییر لینک صفحه وب |
دلایل بروز ارور 403
علت مواجه شدن با ارور 403 چیست و چطور میتوان از بروز آن جلوگیری کرد؟ ارور 403 forbidden اغلب، بهدلیل پیکربندی نادرست دسترسی در سمت سرویسگیرنده رخ میدهد. این یعنی معمولا خودتان میتوانید آن را برطرف کنید. دراینصورت، با کمک سرور مجازی میتوانید سرعت وبگردی خود را نیز به میزان قابل توجهی بهبود دهید. برای مثال، اگر بیشتر بازدیدکنندگان وبسایت شما از کشور امارات یا حوزه خلیج فارس هستند، با استفاده از سرور مجازی امارات میتوانید شرایط بهتری را برای کاربران خود فراهم کنید. این سرور مجازی بهدلیل برخورداری از منابع اختصاصی، میتواند تاثیر چشمگیری در جلوگیری از نمایش خطای 403 داشته باشد.
یکی از دلایل رایج خطای 403 تنظیمات مجوز فایل یا پوشه است که کنترل میکند چه کسی بتواند فایل یا پوشه را بخواند، بنویسد و اجرا کند. در این شرایط، دو احتمال وجود دارد:
- یا مالک وبسایت تنظیمات را طوری ویرایش کرده است که شما نتوانید به منابع دسترسی داشته باشید.
- یا مجوزها را بهدرستی تنظیم نکرده است.
دومین دلیل رایج نمایش خطای 403، تنظیمات فایل htaccess. است که نادرست انجام شدهاند. این اتفاق ممکن است پس از ایجاد تغییرات در این فایل رخ دهد. خوشبختانه، با ایجاد یک فایل پیکربندی سرور جدید، بهراحتی میتوان این مشکل را برطرف کرد. بهغیرازاین دو مورد که بهعنوان دلایل رایج نمایش خطای 403 نام بردیم، در ادامه به برخی دیگر از محرکها نیز اشاره میکنیم که میتوانند دلایل احتمالی برای نمایش خطای 403 باشند.
- نبود فایل index: درصورتی که نام صفحه اصلی وبسایت index.html یا index.php نامگذاری نشده باشد، با خطای 403 مواجه خواهید شد.
- افزونههای معیوب وردپرس: اگر یکی از افزونههای وردپرس بهدرستی پیکربندی نشده باشد یا با افزونه دیگری ناسازگار باشد، ممکن است خطای 403 را ایجاد کند.
- IP آدرس اشتباه: درصورتی که نام دامنه به یک آدرس IP اشتباه یا قدیمی اشاره کند که اکنون میزبان وبسایتی باشد که به آن دسترسی ندارید، این خطا نمایش داده میشود.
- آلوده شدن به بدافزار: آلودگی به بدافزار ممکن است باعث شود که فایل htaccess دائما خراب شود. شما باید قبل از بازیابی فایل، بدافزار را اسکن و حذف کنید.
- لینک صفحه وب جدید: مالک سایت ممکن است پیوند صفحه را بهروز کرده باشد. این باعث میشود که پیوند کنونی با پیوند موجود در نسخه کش متفاوت باشد و خطای 403 نمایش داده شود.
روشهای رفع ارور 403
در این بخش قصد داریم به این بپردازیم که روشهای رفع ارور 403 چیست؟ با توجه به اینکه ارور 403 forbidden ارتباط نزدیکی با مجوزهای دسترسی به فایل دارد، در روشهایی که برای رفع خطای 403 معرفی میکنیم نیز روی همین ویژگی تمرکز خواهیم کرد. با این حال، روشهای دیگری هم برای رفع این ارور وجود دارد که از جمله میتوانیم به پاک کردن کش مرورگر یا اسکن بدافزارها اشاره کنیم.
در ادامه هشت روش مختلف برای رفع ارور 403 forbidden معرفی میکنیم. لطفا توجه داشته باشید که اگرچه روشها و راهکارهایی که در این بخش برای رفع ارور ۴۰۳ معرفی میکنیم عمدتا روی سایتهای وردپرسی تمرکز دارند، اما در سایر سیستمهای مدیریت محتوا هم میتوانید از این روشها برای رفع این خطا استفاده کنید.
درصورتی که درصد زیادی از بازدیدکنندگان وبسایت شما در کشور ترکیه هستند، با سرور مجازی ترکیه میتوانید سرعت سایت خود را برای کاربران نهاییتان ارتقاء دهید.
اگر قصد دسترسی به سرویسهای انحصاری در کشور کانادا را دارید یا بازدیدکنندگان سایت شما عمدتا با آیپی کانادا متصل میشوند،، میتوانید از سرور مجازی کانادا استفاده کنید. این سرور مجازی ضمن ارتقاء سرعت، به شما اجازه میدهد یک IP ثابت و کاملا پایدار در اختیار داشته باشید و مانند یک شهروند کانادایی، از خدمات مختلفی که برای کاربران ایرانی غیرقابل دسترس هستند، بهرهمند شوید.
فایل htaccess. را بررسی کنید
اولین روش رفع خطای 403 چیست؟ پیش از اینکه به اولین روش رفع این ارور بپردازیم، لازم است که توضیح دهیم با توجه به اینکه فایل htaccess. در اغلب اوقات در دایرکتوری سایت پنهان است، ممکن است با آن آشنا نباشید. با این حال، شما بهصورت پیشفرض میتوانید از طریق دایرکتوری public_html به این فایل دسترسی پیدا کنید. برای پیدا کردن محل دقیق این فایل باید مراحل زیر را طی کنید:
با دسترسی روت، به سرور خود مراجعه کنید یا از نرمافزارهای FTP نظیر Filezilla استفاده کنید. پس از ورود به فضای سرور خود، با صفحهای مشابه با تصویر زیر مواجه خواهید شد:
در صورت استفاده از دایرکت ادمین نیز صفحهای مشابه با تصویر زیر برایتان نمایش داده خواهد شد:
درصورتی که طبق هیچ یک از تصاویر فوق، موفق به پیدا کردن فایل htaccess. نشدید، بدانید که این فایل اصلا ایجاد نشده و باید آن را بسازید.
اگر از cPanel استفاده میکنید باید مراحل زیر را طی کنید تا فایل htaccess. را پیدا کنید.
- فایل منیجر را در cPanel پیدا کنید.
- در دایرکتوری public_html بهدنبال فایل htaccess. بگردید. اگر این فایل در این قسمت وجود داشته باشد با صفحهای مشابه تصویر زیر مواجه میشوید:
- اگر این فایل در این قسمت وجود نداشت، روی گزینه تنظیمات (Settings) در گوشه بالای سمت راست تصویر کلیک کنید و تیک گزینه Show Hidden Files (dotfiles) که در تصویر زیر هم نمایش داده شده را فعال کنید.
فایل htaccess. یک فایل پیکربندی سرور است و عمدتا با تغییر تنظیمات وب سرور آپاچی کار میکند. اگرچه این فایل به طور پیش فرض در اکثر وب سایتها وجود دارد، اما همانطور که اشاره کردیم، اگر وب سایت شما این فایل را ندارد یا این فایل به طور ناخواسته حذف شده، باید به صورت دستی یک فایل htaccess. جدید ایجاد کنید.
در هر صورت، قدم بعدی پس از پیدا کردن فایل htaccess. برای رفع خطای 403 چیست؟ برای بررسی اینکه آیا پیکربندی اشتباه فایل htaccess. باعث ایجاد ارور 403 forbidden شده است یا خیر، مراحل زیر را دنبال کنید:
- روی فایل htaccess. راست کلیک کنید و گزینه Download که در تصویر زیر هم نمایش داده شده را برای تهیه نسخه بکاپ انتخاب کنید.
- زمانی که از فایل htaccess. بکاپ گرفتید، آن را حذف کنید.
- وارد سایت خود شوید. اگر بهدرستی کار کرد و با خطای 403 مواجه نشدید، یعنی فایل htaccess. خراب شده است.
- برای ایجاد یک فایل htaccess. جدید، وارد داشبورد وردپرس خود شوید و روی گزینه تنظیمات (Settings) کلیک کنید و سپس وارد بخش پیوندهای ثابت (Permalinks) شوید.
- بدون اینکه هیچیک از گزینهها را تغییر دهید، روی گزینه Save Changes در پایین صفحه کلیک کنید.
- سپس یک فایل htaccess. جدید برای سایت شما ایجاد خواهد شد. اگر با انجام این اقدامات خطای 403 برطرف نشد، روش بعدی را امتحان کنید.
بازنشانی مجوزهای فایل و دایرکتوری
اگر مشکل از فایل htaccess. نبود، روش بعدی برای رفع خطای 403 چیست؟ یکی دیگر از دلایل احتمالی که باعث ایجاد ارور 403 forbidden میشود، مجوزهای نادرست برای فایلها و پوشهها است. لازم به توضیح است که به طور کلی، وقتی فایلها ایجاد میشوند، مجوزهای خاصی دارند که بهطور پیشفرض تنظیم میشوند. این مجوزها نحوه خواندن، نوشتن و اجرای فایلها را کنترل میکنند.
با استفاده از 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 موثر واقع نشد، به احتمال زیاد خطا ناشی از یک افزونه وردپرس ناسازگار یا معیوب است. در این مرحله، سعی میکنیم افزونههای وردپرس را غیرفعال کنیم تا ببینیم که آیا انجام این کار باعث رفع ارور 403 forbidden خواهد شد یا خیر.
توصیه میکنیم که قبل از مرور یکبهیک افزونهها، ابتدا همهی آنها را بهصورت یکجا غیرفعال کنید تا مطمئن شوید که ایراد از همینجاست. با انجام این روش، شما باید بتوانید مشکل را تشخیص دهید و برای حل آن تلاش کنید. در اینجا کارهایی که باید برای این منظور انجام دهید را توضیح میدهیم:
- در اولین مرحله، از طریق FTP وارد حساب میزبانی خود شوید یا از طریق فایل منیجر حساب میزبانی خود وارد پوشه public_html و سپس wp-content شوید.
- پوشه افزونهها را پیدا کنید.
- اسم پوشه را به چیز دیگری مانند disabled-plugins تغییر دهید تا همهی افزونههای وردپرس غیرفعال شوند.
مجددا وارد وبسایت خود شوید. اگر ارور 403 forbidden نمایش داده نشد، مطمئن میشوید که یکی از افزونهها مشکل دارد. نام پوشه را مجددا plugins بگذارید تا همهی افزونهها دوباره فعال شوند. اکنون باید افزونهها را یکییکی از داشبورد وردپرس خود غیرفعال کنید و پس از غیرفعال شدن هر یک از آنها مجددا سایت خود را چک کنید تا افزونهی مشکلدار را پیدا کنید.
پس از پیدا کردن افزونه معیوب، میتوانید آن را آپدیت و یا حذف کنید. حتما میپرسید که اگر پس از انجام همهی این اقدامات باز هم با خطای 403 مواجه شدید، میتوانید با ارائهدهنده هاست خود تماس بگیرید. اما هنوز هم یکسری اقدامات وجود دارد که میتوانید انجام دهید.
یک صفحه index بارگذاری کنید
پیش از توضیح این روش، باید خاطرنشان کنیم که نام صفحه اصلی وبسایت شما باید index.html یا index.php باشد. اگر اینطور نیست، دو راهکار وجود دارد. اولین و سادهترین راهکار، تغییر نام صفحه اصلی به index.html یا index.php است.
با این حال، اگر میخواهید نام فعلی صفحه اصلی خود را حفظ کنید، یک صفحه index در دایرکتوری public_html خود آپلود کنید و صفحه اصلی فعلی خود را به آن ریدایرکت کنید. برای انجام این کار باید اقدامات زیر را انجام دهید:
- یک فایل index.html یا index.php را در پوشه public_html خود آپلود کنید. برای انجام این کار، از فایل منیجر یا FTP حساب میزبانی خود استفاده کنید.
- فایل htaccess. را باز کنید.
- اسنیپت کد زیر را برای ریدایرکت فایل index.php یا index.html به صفحه اصلی فعلی خود وارد کنید. فراموش نکنید که بهجای homepage.html نام صفحه اصلی خود را وارد کنید.
Redirect /index.html /homepage.html
ویرایش مالکیت فایل
درصورتی که از هاست یا سرور مجازی لینوکس استفاده میکنید، مالکیت نادرست فایل میتواند یکی از دلایل نمایش ارور 403 forbidden باشد. بهطور معمول، فایلها و پوشهها را میتوان به یک مالک، یک گروه یا هر دو اختصاص داد. بهخاطر داشته باشید که برای تغییر مالکیت در این محیطها به دسترسی SSH نیاز دارید. همچنین، برای اتصال به VPS به ترمینال SSH نیاز دارید. هنگامی که SSH را به سرور وبسایت خود متصل کردید، با استفاده از دستور SSH زیر مالکیت را بررسی کنید:
ls -1 [file name]
نتیجهی حاصله، باید شبیه به مثال زیر باشد:
-rwxrw-rw- 1 [owner][group] 20 Jul 20 12:00 filename.txt
به قسمت مالکیت و گروه توجه کنید. اگر مالکیت صحیح باشد، در این قسمت باید نام کاربری حساب میزبانی شما قرار گرفته باشد. اگر مالکیت متفاوتی میبینید، از دستور chown Linux برای تغییر مالکیت فایل استفاده کنید. شیوه ابتدایی نوشتاری دستور chown بهشکل زیر است:
chown [owner][:group] [file name]
بهعنوان نمونه، اگر نام کاربری شما VPSmarket است از دستوری شبیه به دستور زیر استفاده کنید:
chown VPSmarket filename.txt
وجود بدافزارها را بررسی کنید
وجود بدافزار، میتواند یکی دیگر از دلایل نمایش ارور 403 باشد. اگر سایت وردپرس شما به نرمافزارهای مخرب آلوده شود، ممکن است دائما کدهای ناخواسته را به فایل htaccess. تزریق کند. بهاینترتیب، حتی اگر با استفاده از روشهایی که تا اینجا توضیح دادیم فایل را اصلاح کنید، این خطا همچنان نمایش داده خواهد شد. میتوانید از افزونههایی که برای اسکن بدافزار در وردپرس وجود دارد، برای شناسایی هرگونه نرمافزار مخرب در وبسایت خود استفاده کنید. افزونههای امنیتی زیادی با این ویژگی برای وردپرس وجود دارد، که بهعنوان مثال میتوانیم از Sucuri یا Wordfence نام ببریم.
اکثر افزونههای امنیتی وردپرس مانند WordFence میتوانند بدافزارها را حذف کنند. هنگامی که این افزونه یا هر افزونه امنیتی دیگری که استفاده میکنید همه فایلهای آلوده را شناسایی کرد، میتوانید آنها را حذف و یا بازیابی کنید. روش دیگری که برای رفع این مشکل وجود دارد، بازیابی وبسایت با استفاده از فایلهای پشتیبان است. همچنین اگر نسخه پشتیبان کاملی از فایلهای سایت خود ندارید، میتوانید آن را با روش پشتیبانگیری از پایگاه داده بازیابی کنید.
تاریخچه وب یا کش خود را پاک کنید
علاوه بر تمامی دلایلی که تاکنون بررسی کردیم، حافظه کش و کوکیهای مرورگر شما نیز میتوانند باعث نمایش خطای 403 شوند. در این صورت، روش حل خطای 403 چیست؟ همانطور که احتمالا میدانید، حافظه کش اطلاعات و دادهها را ذخیره میکند تا وقتی دوباره به یک سایت مراجعه میکنید، سریعتر بارگذاری شود. با این حال، ممکن است لینک سایت بهروز شده باشد و پیوند کنونی صفحه وب با نسخه ذخیرهشده در حافظه کش متفاوت باشد.
یک احتمال دیگر هم وجود دارد که خطا ناشی از کوکیها باشد. ممکن است یک سایت تاکنون بدون مشکل بارگذاری میشد، اما اینبار که به آن مراجعه میکنید، ناگهان با این خطا مواجه شوید. دراینصورت، پاک کردن کش مرورگر و کوکیها باید این مشکل را برطرف کند. توجه داشته باشید که اگر کش مرورگر را پاک کنید، ممکن است سرعت بارگذاری سایت کاهش یابد و مجبور شوید مدت بیشتری برای باز شدن آن صبر کنید.
دلیل اینکه پس از پاک کردن کش و کوکیها سایت دیرتر بارگذاری میشود، این است که فایلها از حافظه پنهان حذف شدهاند و اکنون همهی آنها باید مجددا از اول به مرورگر شما ارسال شوند. همچنین، دقت کنید که با پاک کردن کوکیها از حساب کاربری خود در تمامی سایتهایی که در آنها Log-in کردهاید، خارج خواهید شد. برای پاک کردن کش و کوکیها در مرورگر Google Chrome مراحل زیر را انجام دهید:
- روی آیکون سه نقطه در گوشه بالای سمت راست تصویر کلیک کنید و گزینه تنظیمات (Settings) را انتخاب کنید.
- قسمت حریم خصوصی و امنیت (Privacy and security) را پیدا کرده و روی گزینه پاک کردن دادههای مرور (Clear browsing data) کلیک کنید.
- از منوی کشویی، بازه زمانی که قصد دارید دادههای آن حذف شود را انتخاب کنید. سپس همانطور که در تصویر زیر هم نمایش داده شده است، تیک گزینه کوکیها و سایر دادههای سایت (Cookies and other site data) و همینطور تصاویر و فایلهای کششده (Cached images and files) را فعال کنید.
- در نهایت، روی گزینه پاک کردن دادهها (Clear data) کلیک کنید.
پس از انجام همه مراحل فوق، مجددا وارد سایت شوید و اگر از حساب کاربری خود خارج شده بودید، مجددا وارد آن شوید. اگر با این روش ارور 403 رفع نشد و سایر روشهایی که در این مطلب توضیح دادیم نیز کارساز نبود، با تیم پشتیبانی VPS Market تماس بگیرید تا مشکل شما را پیگیری کنند.
جمع بندی
در این مطلب بررسی کردیم که ارور 403 چیست و چطور میتوان این خطا را برطرف کرد. ارور 403 forbidden فقط یکی از چندین و چند کدهای خطای HTTP است. شما بهعنوان مالک وبسایت، ممکن است با خطاهای دیگر سمت کلاینت مانند خطای 404 یا خطاهای سمت سرور مانند 504 gateway timeout مواجه شوید.
توصیه میکنیم با انواع خطاهای سمت سرور و کلاینت آشنا باشید، تا درصورت وقوع بدانید که چطور باید آنها را برطرف کنید. مواجه شدن با ارور 403 forbidden مانع دسترسی شما به یک صفحه یا سایت میشود و به همین دلیل، برای بسیاری از کاربران ناخوشایند است.
یکی از دلایل اصلی نمایش این ارور، مالکیت یا مجوزهای نادرست فایلها است. اما دلایل مهم دیگری نظیر نبود صفحه index، پلاگینهای معیوب وردپرس و حتی وجود بدافزار هم ممکن است باعث نمایش این خطا شوند. پیدا کردن علت اصلی بروز خطای 403 ممکن است دشوار باشد. اما با روشهایی که در این مطلب توضیح داده شد، مطمئنا میتوانید عملکرد سایت خود را مجددا به حالت عادی بازگردانید.
برای جمعبندی، اقداماتی که باید برای خلاص شدن از نمایش پیام 403 در سایت وردپرس خود انجام دهید را در اینجا به صورت خلاصه ذکر میکنیم:
- بررسی فایل htaccess.
- بازنشانی مجوزهای فایل و دایرکتوری
- غیرفعال کردن افزونههای وردپرس
- بارگذاری یک صفحه index
- ویرایش مالکیت فایل
- تایید رکورد A
- بررسی و حذف بدافزارها
- پاک کردن تاریخچه مرورگر و کش
سوالات متداول
معنی خطای 403 چیست؟
ارور 403 یعنی سرور نمیتواند به درخواست کاربر برای مشاهده یک یا چند صفحه پاسخ دهد.
دلیل نمایش ارور 403 چیست؟
ارور 403 forbidden ممکن است ناشی از خرابی افزونه امنیتی یا هرگونه افزونه دیگری در وردپرس باشد، یا به دلیل مجوزهای نادرست فایل و یا خراب بودن فایل htaccess. نمایش داده شود.
آیا نمایش ارور 403 برای سایت خطرناک است؟
ارور 403 forbidden لزوما نشاندهنده این نیست که اتفاق بد یا خطرناکی برای سایت شما رخ داده است. فقط بهاینمعنی است که در سایت شما برای مجوز دادن به درخواست دسترسی به فایلها یا یک صفحه خاص مشکلی وجود دارد و صفحه نمایش داده نمیشود.