اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

پسورد گذاشتن روی دایرکتوری وب در آپاچی (Apache) با استفاده از htaccess.

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    پسورد گذاشتن روی دایرکتوری وب در آپاچی (Apache) با استفاده از htaccess.

    زمانی که شما پروژه های آنلاین را مدیریت میکنید شما اغلب نیاز دارید که دسترسی به پروژه را به منظور محافظت از دنیای بیرون محدود کنید. ممکن است دلایل متفاوتی داشته باشد به طور مثال شما می خواهید که از دسترسی crawler های موتور های جستجو به سایت تان در زمانی که هنوز در حال develop است، جلوگیری کنید.
    پسورد گذاشتن روی یک فولدر در آپاچی با استفاده از htaccess




    در این مقاله قصد داریم نحوه ی password protected web directory (محافظت دایرکتوری های وب از طریق پسورد) در وب سرور آپاچی را آموزش دهیم. راههای زیادی برای این منظور موجود است اما ما تنها به بررسی دو مورد که رایجتر هستند خواهیم پرداخت.


    همچنین توصیه میشود مطالعه بفرمایید :

    نحوه پسورد گذاشتن روی دایرکتوری خاص در وب سرور Nginx


    اولین روش تنظیم password protect به صورت مستقیم در فایل تنظیمات آپاچی می باشد در حالی که در روش دوم از فایل htaccess. استفاده میشود.


    تجهیزات

    به منظور تنظیم password protect برای دایرکتوری های وب شما به موارد زیر نیاز دارید :
    • یک آپاچی سرور در حال کار
    • AllowOverride AuthConfig باید در فایل کانفیگ اپاچی فعال (enable) باشد.




    تنظیم Apache Password Protect Directory :

    1 - در این پست ما میخواهیم روی دایرکتوری اصلی root وب /var/www/html پسورد بگذاریم.برای این کار ابتدا فایل کانفیگ apache را باز میکنیم :
    کد PHP:
    ---------------- On RedHat/CentOS based systems ----------------
    # vi /etc/httpd/conf/httpd.conf

    ---------------- On Debian/Ubuntu based systems ----------------
    # nano /etc/apache2/sites-available/000-default.conf 

    2 - دایرکتوری Document روت آپاچی را برای /var/www/html پیدا میکنیم و موارد زیر را به آن اضافه میکنیم :

    روی Apache 2.2 Version :
    کد PHP:
    <Directory /var/www/html>
    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride All
    allow
    ,deny
    Allow from all
    </Directory

    روی Apache 2.4 Version :
    کد PHP:
    <Directory /var/www/html>
    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
    </Directory
    رمزنگاری فایل ها و فولدرها در apache با استفاده از htaccess







    3 - فایل را دخیره و سرویس Apache را با استفاده از دستور زیر ریستارت میکنیم :
    کد PHP:
    --------------- On Systemd -------------------
    # systemctl restart httpd         [On RedHat based systems]
    # systemctl restart apache2       [On Debian based systems]


    --------------- On SysV init -----------------
    # service httpd restart           [On RedHat based systems]
    # service apache2 restart         [On Debian based systems] 
    4 - اکنون از دستور htpasswd برای ایجاد username و password برای دایرکتوری موردنظرمان استفاده خواهیم کرد. این دستور برای مدیریت فایلهای user برای authentication ابتدایی استفاده می شود.

    ساختار کلی دستور به شکل زیر می باشد :
    کد PHP:
    # htpasswd -c filename username 
    گزینه ی c- برای مشخص کردن فایلی که encrypted password در آن قرار میگیرد استفاده می شود. همچنین username مشخص کننده ی یوزر مورد نظر برای Authentication است.

    5 - فایل پسورد باید خارج از دایرکتوری قابل دسترس وب آپاچی قرار گیرد تا بخوبی امن شود. برای این منظور ما دایرکتوری جدید ایجاد میکنیم :
    کد PHP:
    # mkdir /home/linux-zone 
    6 - بعد از آن username و password ی که قرار است در این دایرکتوری ذخیره شوند را ایجاد می کنیم :
    کد PHP:
    # htpasswd -c /home/linuxzone/webpass linux-zone 
    به محض اینکه دستور بالا را اجرا کردیم از شما خواسته میشود تا پسوردیبرای یوزر جدید linuxzone را دوبار وارد کنید :
    پسورد گذاشتن روی فولدرها و دایرکتوری ها با htaccess







    بعد از آن باید مطمین شوید که آپاچی قادر به خواندن فایل webpass می باشد. برای این منظور باید ownership (مالکیت) فایل موردنظر را با دستور زیر تغییر دهید :
    کد PHP:
    ---------------- On RedHat/CentOS based systems ----------------
    # chown apache: /home/linuxzone/webpass
    # chmod 640 /home/linuxzone/webpass 
    کد PHP:
    ---------------- On Debian/Ubuntu based systems ----------------
    # chown www-data /home/linuxzone/webpass
    # chmod 640 /home/linuxzone/webpass 
    7 - اکنون user و passwrd ما آماده هستند و ما باید به آپاچی بگوییم که به هنگام دسترسی به دایرکتوری موردنظر پسورد بخواهد. برای این منظور فایل htaccess. را در مسیر /var/www/html ایجاد می کنیم :
    کد PHP:
    # vi /var/www/html/.htaccess 
    و کد زیر را به آن اضافه میکنیم :
    کد PHP:
    AuthType Basic
    AuthName 
    "Restricted Access"
    AuthUserFile /home/tecmint/webpass
    Require user tecmint 
    نحوه پسورد گذاشتن روی یک فولدر در وب سرور آپاچی







    8 - سپس فایل را ذخیره می کنیم و تست می گیریم. بروزر خود را باز کنید و IP Address یا domain name تان را در آن وارد کنید. بطور مثال :
    کد PHP:
    http://ip-address 
    در این مرحله باید از شما username و password بخواهد :
    استفاده از htaccess برای رمز گذاشتن روی یک فولدر یا دایرکتوری







    یوزر وپسورد موردنظر را وارد کنید تا به page خود دسترسی پیدا کنید.


    نکات اضافه :

    اگر شما از هاست اشتراکی استفاده میکنید به احتمال زیاد به فایل کانفیگ apache دسترسی نخواهید داشت. به هر حال اکثر شرکت های هاستینگ گزینه ی “AllowOverride All” را به صورت پیش فرض فعال کرده اند. در نتیجه شما فقط نیاز به ایجاد یوزر و پسورد دارید و سپس انتخاب دایرکتوری که شما میخواهید پسورد برایش بگذارید که در حد زیادی کار شما را آسان می کند.


    همچنین توصیه میشود مطالعه بفرمایید :

    نحوه بالا بردن سرعت وب سرور آپاچی و امنیت بخشیدن به آن با استفاده از فایل htaccess

    آموزش دستورات htaccess برای ریدایرکت/انتقال یک دامنه قدیمی به جدید


    امیدوارم این پست برای شما مفید واقع شود و شما را به هدفتان برساند.

    با آرزوی موفقیت
    محمد هابیلی
    فایل های پیوست شده
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-25-2021, 11:11 PM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی
در حال انجام ...
X