محدود کردن دسترسی به پوشه خاص در وب سرور OpenLiteSpeed

5 / 5. تعداد رای: 1

محدود کردن دسترسی به پوشه در وب سرور OpenLiteSpeed

در وب سرور آپاچی می‌تونیم با استفاده از Allow from all یا Deny from all دسترسی کاربر به پوشه‌های مختلف را محدود کنیم یا باز نگه داریم. اجازه دهید یک مثال عملی بزنیم.

افزونه EDD را که می‌شناسید! در این افزونه یک سری فایل آپلود می‌کنیم که در پوشه uploads/edd قرار میگیره و کاربر نباید دسترسی مستقیم به این فایل‌ها داشته باشد. چون اگر دسترسی مستقیم به فایل‌های شما داشته باشند لینک‌ها و فایل‌های با ارزشی که می‌فروشید در دسترس عموم قرار خواهد گرفت.

اگر از وب سرور آپاچی استفاده کنید خب موقع نصب EDD بصورت خودکار با تغییر فایل htaccess دسترسی کاربر به پوشه wp-content/uploads/edd مسدود خواهد شد. آن هم با استفاده از یک کد بسیار ساده deny from all! پس نیاز به انجام کار خاصی نیست.

اما وقتی وب‌سرور شما به لایت اسپید تغییر کرد خب باز هم مشکلی نیست. 😀 چون لایت اسپید با دستورات htacess apache سازگاری کامل دارد.

اما مسئله اینجاست که اگر از openlitespeed استفاده می‌کنید. (استفاده می‌کنیم، چون رایگان است و هزینه‌های لایت اسپید در ایران سر به فلک می‌کشه!) دیگه این خبرا نیست! دستورات deny from all اصلا توسط وب سرور شما تشخیص داده نخواهد شد. برای حل این مشکل چه کنیم؟!

محدود کردن دسترسی به پوشه در وب سرور OpenLiteSpeed

برای مسدود کردن دسترسی به پوشه آپلود EDD در وب سرور OpenLiteSpeed کافیست از فایل vhost conf تغییرات را اعمال کنیم. ابتدا باید دنبال این فایل در سرور خود بگردید.

مثلا اگر دایرکت ادمین استفاده می‌کنید. باید با دسترسی مدیر کل وارد شوید. سپس وارد بخش Server Manager و در نهایت Custom HTTPD Configurations شوید.

Custom HTTPD Configurations
Custom HTTPD Configurations

حالا دامنه سایت خود را انتخاب کنید و جلوی نام دامنه روی openlitespeed.conf کلیک کنید.

از بالای صفحه سمت راست روی گزینه Customize کلیک کنید و تب آخر یعنی The very last entry. را انتخاب کنید.

The very last entry.
The very last entry.

این کد را به این قسمت اضافه کنید و در نهایت روی ذخیره کلیک کنید. اگر ارور دریافت کردید زیاد نگران نباشید! تغییرات در ۹۸ درصد مواقع ذخیره خواهند شد.

  context /wp-content/uploads/edd {
  type                    NULL
  location                /home/username/domains/reza.com/public_html/wp-content/uploads/edd
  accessControl {
     deny 0.0.0.0/0
  }
}

به جای reza.com ادرس دامنه خود را وارد کنید. به جای username هم نام کاربری هاست را وارد کنید. اصلا اگر مسیر home/ صحیح نیست تنظیم کنید و در نهایت روی ذخیره کلیک کنید.

حالا ادرس مستقیم یکی از فایل‌های پوشه EDD را مشاهده بفرمایید. باید با خطای ۴۰۳ یا عدم سطح دسترسی مواجه شوید.

موفق باشید. 🙂

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U11600 ۱ اسفند ۱۳۹۸

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