نماد سایتنماد سایت بلاگ ایران هاست

خطای ۴۰۳ چیست و راهکارهای جلوگیری از ارور ۴۰۳

خطای 403 forbidden چیستخطای 403 forbidden چیست

تقریبا تمامی کاربران اینترنت اعم از توسعه دهندگان و کاربران حرفه‌ای و حتی کاربران عادی حداقل یک بار با خطای forbidden 403  مواجه شده اند که در هنگام دسترسی به آدرس خاصی در فضای اینترنت و در مرورگر دریافت شده است. این خطا به طور کلی به دلیل وجود محدودیت از سمت سرور بوجود می‌آید و جزو خطاهای رایج بستر اینترنت است. در این مقاله با ماهیت این خطا، دلایل بروز آن و چگونگی رفع آن بیشتر آشنا می‌شویم.

خطای ۴۰۳ چیست ؟

این خطا هنگامی روی می‌دهد که یک وبسرور به هر دلیلی مانع از دسترسی شما به آدرس وارد کرده در مرورگر شود. خطای ۴۰۳ (۴۰۳ server error) در وب سایت ها یا برنامه های کاربردی، به سبب دلایل متعددی، همچون خطاهای حق دسترسی (permission) و حق مالکیت (ownership )، فایل ها و فولدرهای گم شده، و سایر محدودیت های امنیتی در سرور، رخ می دهد. به معنی ساده‌تر وقتی شما می‌خواهید آدرس خاصی را در مرورگر مشاهده کنید و این خطا را دریافت میکنید یعنی شما مجوزهای مورد نیاز از سمت وبسرور برای مشاهده این صفحه را ندارید بنابراین برای جلوگیری از بروز اینگونه مشکلات بهتر است از یک مرجع معتبر برای خرید سرور مجازی کانادا – سرور اختصاصی یا انواع هاست ها اقدام کنید. این حتی میتواند در مواقعی به این معنی باشد که صفحه مورد نظر شما اصلا وجود ندارد.

علت خطای ۴۰۳ چیست؟

علت به وجود آمدن ارور ۴۰۳ یکی از موارد زیر است:

۱. مسئول وبسرور مجوزهای دسترسی را از عمد به گونه ای تنظیم کرده که شما واقعاً اجازه دسترسی به منبع مورد نظر را ندارید. اگر عدم دسترسی شما به همین دلیل باشد، شما به عنوان بازدید کننده امکانی برای رفع مشکل نخواهید داشت.

۲. دلیل ارور ۴۰۳ این است که دارندگان وبسرور به درستی مجوزها را تنظیم نکرده اند و شما امکان مشاهده را ندارید، در صورتی که باید داشته باشید. در این صورت پیگیری و اطلاع رسانی به مدیر وبسایت مربوطه اولین قدم پیگیری خواهد بود.

عدد ۴۰۳ در واقع کد وضعیت HTTP است که وبسرور از آن برای توصیف این نوع خطا استفاده می‌کند . نکته مهم این است که این که این امکان وجود دارد تا توسعه دهندگان وب بمانند ارور های ۴۰۴ و ۵۰۲ نحوه نمایش آن را شخصی سازی کنند یعنی ممکن است شما این خطا را فقط با یک شکل ثابت دریافت نکنید اما در نظر داشته باشید ماهیت این خطا و نحوه مقابله با آن همیشه یکسان است.

 

بیشتر بخوانید: خطای ۵۰۳

 

رفع خطای ۴۰۳ از سمت کاربر و بازدیدکننده

با وجود ماهیت این خطا و دسترسی و امکان رفع از سمت توسعه دهنده وبسایت، انجام موارد زیر از سمت بازدیدکننده نیز ممکن است باعث رفع مشکل گردد. در زیر موارد احتمالی که از سمت کاربر اینترنت ممکن است باعث رفع ارور ۴۰۳ شود عنوان شده:

بروزرسانی مجدد صفحه همیشه ارزش انجام دادن را دارد. بسیاری از اوقات خطای ۴۰۳ موقتی است و ممکن است یک تازه سازی ساده مورد را برطرف کند. بیشتر مرورگرها از کلید F5 برای بروزرسانی صفحه استفاده می کنند و همچنین دکمه Refresh را در جایی از نوار آدرس بار ارائه می دهند.

متداول ترین دلیل بروز خطا ۴۰۳ ، تایپ اشتباه URL یا آدرس است. مطمئن بشید آدرسی که می خواید به آن دسترسی پیدا کنید مربوط به یک صفحه وب یا فایل است.

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

اگر می خواهید به وبسایتی دسترسی پیدا کنید که قبل از مشاهده محتوا نیاز به لاگین به سیستم دارد، ممکن است مشکل از این سمت باشد. به طور معمول، سرورها این خطا را به شما نمایش می‌دهند تا به شما اطلاع دهند که برای دسترسی به محتوا باید وارد سیستم شوید.

در صورت عدم رفع مشکل با انجام موارد بالا ممکن است موارد دیگری از قبیل بررسی مجدد در زمان دیگر و پیگیری با سرویس دهنده وبسایت یا اینترنت نیز ممکن است تاثیر گذار باشد.

 

بیشتر بخوانید: ارور ۴۰۱

 

رفع ارور ۴۰۳ از سمت توسعه دهنده

در صورتی که به دنبال بررسی و رفع خطا ۴۰۳ به عنوان توسعه دهنده و مدیر سایت باشید، استفاده از روش های زیر پیشنهاد می‌شود:

فایل اجرایی وبسایت ها که در مسیر روت وبسایت و معمولا با نام htaccess ذخیره می‌شوند جهت اعمال برخی تنظیمات اصلی وبسایت به کار می‌روند. بررسی کدهای موجود در این فایل جهت بررسی وجود محدودیت‌های اعمال شده به وسیله کد نرم‌افزاری، اعمال تغییرات مورد نیاز و یا غیرفعال سازی آن اولین قدم بررسی می‌باشد. همچنین در نظر داشته باشید این قبیل فایل ها ممکن است در حالت عادی در دسترس مشاهده کاربر نباشند که در این صورت با اتخاب گزینه show hidden files در تنظیمات میزبانی امکان مشاهده فایل را به شما خواهد داد.

تعیین مجوزها و دسترسی نامناسب فایل ها و فولدر ها از دیگر دلایل بروز ارور ۴۰۳ است. بررسی و در صورت نیاز تغییر مجوزهای دسترسی (حداقل دسترسی read یا خواندن برای مسیر با فایل مربوطه) از دیگر موارد مورد نیاز برای بررسی می‌باشد.

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

اگر سرور شما آدرس آی پی را به لیست سیاه اضافه کند، کاربرانی که دارای این آی پی هستند، برای دسترسی به محتوای وبسایتی در سرور شما، ارور ۴۰۳  “۴۰۳ Forbidden / Access Denied” را خواهند دید. در ادامه مقاله به بررسی mod security و علت ارور ۴۰۳ خواهیم پرداخت.

چگونه mod security موجب خطا ۴۰۳ error می شود؟

میزبان های وب اغلب به علت ۴۰۳ forbidden خطای یا ارور ۴۰۳ در سایت به سبب این محدودیت های امنیتی همچون قواعد mod security یا مسدودکردن آدرس آی پی، با شکایت مشتریان خود مواجه اند. مودسکیوریتی نرم افزاری است که برای امنیت وب سرور، در کنار وب سرورهای دیگر پیکربندی می شود.

error 403 forbidden، خطای رایجی است که میزبان های وب، وبسایت ها و مالکین سرورها با آن مواجه هستند. این یعنی قواعد مودسکیوریتی در وب سرور، دسترسی کاربرانی که سعی در دسترسی به هر آدرسی در سایت را دارند ، مسدود می کند.

[Fri Jul 15 16:03:06 2016] [error] [client 91.***.**.**]

ModSecurity: Access denied with code 403,

[Rule:'ARGS|!ARGS:/page_content/|!ARGS:file|

مودسکیوریتی قواعدی دارد تا تمام درخواست های ورودی را برای وب سایت ها در سرور فیلتر کند. این قواعد، وب سایت های روی سرور شما را که از طریق تزریق کد و هک می تواند موجب ورود اسکریپت های مخرب و برهم زدن سرور شما شود، محافظت می کنند.

هر درخواستی برای وب سرور توسط قواعد مودسکیوریتی فیلتر می شود، و اگر یکی از ایین درخواست ها برخلاف قواعد تعریف شده مودسکیوریتی بود، خطای ۴۰۳ نمایش داده می شود و کاربر اجازه دسترسی به صفحه نخواهد داشت. برای کسب اطلاعات در حوزه ی وب سرور چیست به شما پیشنهاد می شود مقاله تخصصی ما را مطالعه نمایید.

وقتی که مودسکیوریتی در وب سرور نصب می شود،  بسیاری از قواعد پیش فرض که توسط تولید کنندگان سرور نصب شده، در این فایل قرار دارد.

‘/etc/httpd/conf.d/mod_security.conf’.

یکی از قواعد پیش فرض مودسکیوریتی Apache که از آن مراقبت می کند، بر روی GET و POST در فرم های ارسالی است. این قاعده می تواند در برقراری ارتباط بسیاری از فرم ها، در سایت موجب خطای ۴۰۳ forbidden شود.

قواعد مودسکیوریتی مثل مسدودسازی پورت، می تواند از نمایش خطای ۴۰۳ forbidden به اپلیکیشن های شخص ثالث همچون Horde  و Roundcube جلوگیری کند. سایر دلایل برای خطای http 403، بروز نبودن نسخه نرم افزار یا مغایرت پلاگین ها با قواعد امنیتی می باشد.

راه کار جلوگیری از خطای ۴۰۳ forbidden در mod security

زمانی که مودسکیوریتی کمک می کند تا وب سرور ها در مقابل حملات، ایمن تر باشند، اگر به درستی پیکربندی نشوند، قواعد تعریف شده برای آن می توانند بر روی عملکرد عادی و نرمال وب سایت ها اثر گذارند.

برای جلوگیری از شکایت کاربران در مورد در دسترس نبودن وبسایت به علت قواعد مودسکیوریتی برای مسدود کردن آدرس های Url موجود (valid URLs) و گرفتن خطا ۴۰۳ راهکارهای زیر را دنبال کنید

 

تست اولیه در حالت شناسایی

قواعد مودسکیوریتی می تواند شامل false positives های زیادی باشد، که می تواند موجب مختل کردن کار وبسایت و تاثیر روی کسب وکار شوند. بخاطر همین است که هیچوقت بدون آنکه مودسکیوریتی را تست کنید، آن را در سرورهای حال حاضر (درحال کار) فعال نکنید. هنگامی که در حال آماده سازی سرور هستید و مودسکیوریتی را پیکربندی می کنید، آن را در ابتدا در حالت های  ‘Log only’ و یا ‘Detection only’  اجرا کنید، که هیچ کدام از این حالت ها درخواست های وب را مسدود نمی کنند، اما خطاها را ثبت می کنند.

سپس این log ها  را بررسی کرده و false positives ها را فیلتر کنید و مجموعه قواعد مودسکیوریتی را تغییر داده تا آنها مستثنی قرار داده شوند. زمانی که تست کامل شد و هیچ false positive وجود نداشت، آن گاه در سرور، مودسکیوریتی را فعال کنید.

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

نوشتن یک مجموعه قواعد (Rules) سفارشی برای سرورها

مجموعه قواعد پیش فرض مودسکیوریتی برای فاصله گرفتن اغلب حملات نوشته شده اند، و ممکن است برای همه وبسایت ها مناسب نباشد.

جلوگیری از ارور ۴۰۳ با بررسی apache logs و mod-security logs

حتی پس از فعال سازی مودسکیوریتی بعد از تست ها، باید با بررسی فایل های apache logs و مودسکیوریتی logs، کارایی آنها را بررسی و تحت نظر قرار دهید. در سرورهای cPanel، این log ها در پایگاه داده ذخیره می شوند.

هنگامی که این log ها را تحت نظر دارید، اگر مشاهده کردید صفحه معتبری مسدود شده است و یا متوجه هر  false positive دیگری شدید، مجموعه قواعد مشخص برای هر دامین یا سرور را باتوجه به اثر آن، غیرفعال نمایید.

خطا ۴۰۳ forbidden زمانی که نسخه وب سرور و مودسکیوریتی ناسازگار باشند هم اتفاق می افتد.آخرین نسخه از Apache و مودسکیوریتی را برای دوری از این مشکل، نصب کنید.

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

به جای آن، قواعد را برای نرم افزار و وبسایت مشتریان، سفارشی کنید. این به شما کمک می کند که سایت های روی سرور کار کند، بدون آنکه جنبه های امنیتی سرور را به خطر اندازد.

جلوگیری از ارور ۴۰۳ با تحت نظر داشتن کارایی سرور

هرقاعده مودسکیوریتی از منابع سرور، مثل cpu و RAM استفاده می کند، و هربار که درخواست وب فرا می رسد، این قواعد بایستی بررسی و اعمال شوند.

منابعی که بوسیله سرور روی مودسکیوریتی مصرف می شوند، با مجموع قواعد تغییر می کند. هرچقدر تعداد قواعد بیشتری بررسی شود، منابع بیشتری صرف آن می شود.

تنظیم پارامترهای پیکربندی مودسکیوریتی به بهبود کارایی سرور کمک می کند. این به شما کمک می کند تا سرورهای مشتریان را امن نگه دارید، بدون آنکه کارایی آن پایین آید.

امیدواریم با خواندن این مقاله با مفهوم خطا ۴۰۳  و رفع ارور ۴۰۳ آشنا شده باشید.

خروج از نسخه موبایل