اطلاعیه

بستن
No announcement yet.

پسورد گذاشتن روی (فولدر، پوشه، دایرکتوری) در وب سرور Nginx

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

    پسورد گذاشتن روی (فولدر، پوشه، دایرکتوری) در وب سرور Nginx

    مدیران پروژه های web اغلب نیاز به محافظت کردن از کار خود به شیوه های متفاوت را دارند. اغلب افراد درباره چگونگی محافظت از طریق پسورد در وب سایت شان را زمانی که هنوز در حال develope میباشد سوال میپرسند.

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	Nginx-Password-Protect-Website.png
نمایش ها:	1
اندازه:	149.2 KB
شناسه:	19853

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

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

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


    همچنین توصیه میشود مطالعه کنید.

    آموزش نصب وب سرور Nginx در Ubuntu 16

    آموزش نصب وب سرور Nginx در Debian 9

    آموزش نصب وب سرور Nginx در
    RedHat/CentOS 7.0 و Fedora 23-24


    تجهیزات :

    برای تکمیل مراحل موجود در این مقاله شما نیاز به موارد زیر دارید :
    • وب سرور Nginx نصب شده
    • دسترسی root به سرور




    مرحله اول : ایجاد یوزر و پسورد

    1 -
    برای محافظت از طریق پسورد روی دایرکتوری وب ما باید فایلی که شامل username و password اینکریپت (encrypt) شده باشد را ایجاد کنیم.

    هنگامی که از آپاچی استفاده میکنیم میتوانیم از ابزار htpasswd استفاده کنیم. اگر شما این ابزار را روی سیستم تان نصب دارید میتوانید از این دستور برای ایجاد فایل پسورد استفاده کنید :
    کد PHP:
    # htpasswd -c /path/to/file/.htpasswd username 
    زمانی که دستور بالا را اجرا میکنیم از ما خواسته میشود که یک پسورد برای یوزر بالا تعریف کنیم و بعد از آن فایل .htpasswd در دایرکتوری مورد نظر ایجاد خواهد شد :

    جهت مشاهده ویدیو آموزشی روی تصاویر کلیک کنید.

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	Create-Htpassword.gif
نمایش ها:	1
اندازه:	7.8 KB
شناسه:	19854


    2 - اگر شما ابزار htpasswd را روی سیستم تان نصب ندارید میتوانید فایل .htpasswd را به صورت دستی ایجاد کنید، که این فایل باید ساختار زیر را داشته باشد :
    کد PHP:
    username:encrypted-password:comment 
    username که شما استفاده خواهید کرد اختیاری بوده و میتوانید هر آنچه میخواهید انتخاب کنید.

    بخش بسیار مهم طریقه ایجاد پسورد برای user میباشد.



    مرحله 2 : ایجاد پسورد encrypt شده

    3 -
    برای ایجاد پسورد از Function به نام “crypt” از زبان perl استفاده میکنیم.

    مثال زیر نمونه ای از دستور میباشد :
    کد PHP:
    # perl -le 'print crypt("your-password", "salt-hash")' 
    یک نمونه مثال واقعی :
    کد PHP:
    # perl -le 'print crypt("#12Dfsaa$fa", "1xzcq")' 
    جهت مشاهده ویدیو آموزشی روی تصاویر کلیک کنید.

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	Generate-Encrypted-Pasword.gif
نمایش ها:	1
اندازه:	7.0 KB
شناسه:	19855


    اکنون یک فایل باز کنید و username همچنین پسورد genarate شده را درون فایل قرار دهید و آنها را با یک semicolon از هم جدا کنید.

    همانطور که میبینید :
    کد PHP:
    # vi /home/linux-zone/.htpasswd 
    و username و password را در آن قرار دهید. در اینجا با توجه به مثال من شبیه به زیر میباشد :
    کد PHP:
    linux-zone:1xV2Rdw7Q6MK
    و در پایان با فشردن کلید escp و بعد از :wq فایل را ذخیره میکنیم :

    جهت مشاهده ویدیو آموزشی روی تصاویر کلیک کنید.

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	Add-Encrypted-Password-to-File.gif
نمایش ها:	1
اندازه:	14.1 KB
شناسه:	19856



    مرحله 3 : آپدیت کردن تنظیمات Nginx

    4 -
    اکنون فایل تنظیمات ngigx که با سایت که شما روی آن کار میکنید مرتبط است را باز و ویرایش کنید. در اینجا ما فایل defult را استفاده خواهیم کرد :
    کد PHP:
    # vi /etc/nginx/conf.d/default.conf       [For CentOS based systems]
    OR
    # vi /etc/nginx/nginx.conf                [For CentOS based systems]

    # vi /etc/nginx/sites-enabled/default     [For Debian based systems] 
    در این مثال ما میخواهیم دایرکتوری root را برای Nginx که در مسیر /usr/share/nginx/html قرار دارد password protect کنیم. (روی دایرکتوری پسورد بگذاریم).


    5 - اکنون 2 خط زیر را به همراه مسیری که میخواهید روی آن پسورد بگذارید را اضافه میکنیم :
    کد PHP:
    auth_basic "Administrator Login";
    auth_basic_user_file /home/tecmint/.htpasswd
    جهت مشاهده ویدیو آموزشی روی تصاویر کلیک کنید.

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	Password-Protect-Nginx-Directory.png
نمایش ها:	1
اندازه:	4.1 KB
شناسه:	19857


    حالا فایل را ذخیره و Nginx را با استفاده از دستور زیر restart میکنیم :
    کد PHP:
    # systemctl restart nginx
    OR
    # service nginx restart 

    6 - در اینجا ip address را در مرورگرتان وارد کرده سپس باید از شما پسورد خواسته شود :

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	Nginx-Password-Protect-Login.png
نمایش ها:	1
اندازه:	13.4 KB
شناسه:	19858


    اکنون میبینید که دایرکتور وب اصلی شما به درستی امن شده و از شما پسورد میخواهد. زمانی که بخواهید پسورد را از روی سایت حذف کنید فقط کافیست به سادگی 2 خطی که به فایل .htpasswd اضافه کردید را حذف کنید و یا از دستور زیر برای حذف یوزر اضافه شده از طریق یک فایل پسورد اجرا کنید :
    کد PHP:
    # htpasswd -D /path/to/file/.htpasswd username 

    موفق باشید
    محمد هابیلی
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 09-17-2017, 03:29 AM.

    #2
    ببخشید شما اینجا نگفتید که چطور مسیر اینجوری رو پسورد بزاریم من الان میخام تو این مسیر رو پوشه ادمین پسورد بزارم

    site.com/test/admin

    حالا باید چطور پوشه ادمین رو در دستور وارد کنم تا بتونم روش پسورد بزارم
    آخرین ویرایش توسط 5555; در تاریخ/ساعت 04-17-2016, 09:11 PM.

    کامنت

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

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

    شبکه های اجتماعی

    ایمیل مدیریت

    Habili@linux-zone.org

    در حال انجام ...
    X