Unsaon Pagpanalipod sa Password sa Web Directories sa Apache Gamit ang .htaccess File


Kung nagdumala ka sa mga online nga proyekto, kanunay nimo kinahanglan nga limitahan ang pag-access sa kana nga proyekto aron mapanalipdan kini batok sa kalibutan sa gawas. Mahimong adunay lainlaing mga hinungdan alang niana - pananglitan gusto nimo mapugngan ang mga search engine crawler sa pag-access sa imong site samtang naa pa kini sa yugto sa pag-uswag.

Niini nga tutorial, akong ipakita kanimo kon unsaon pagprotekta sa password sa lain-laing mga web site nga direktoryo sa Apache web server. Adunay daghang mga paagi nga mahimo nimo kini, apan among ribyuhon ang duha niini nga kasagarang gigamit.

Ang unang pamaagi nag-configure sa pagprotekta sa password direkta sa configuration file sa Apache, samtang ang ikaduha naggamit .htaccess file.

Mga kinahanglanon

Aron ma-setup ang proteksyon sa password alang sa imong mga direktoryo sa web, kinahanglan nimo nga adunay:

  • Usa ka nagtrabaho nga Apache web server
  • Ang AllowOverride AuthConfig nga direktiba kinahanglang ma-enable sa Apache configuration file.

I-setup ang Direktoryo nga Giprotektahan sa Apache Password

1. Alang niini nga panudlo, among panalipdan ang nag-unang web root directory /var/www/html. Aron mapanalipdan kana nga direktoryo, ablihi ang configuration sa imong Apache:

---------------- 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. Pangitaa ang Apache Document directory root para sa /var/www/html ug idugang ang mosunod nga mga butang sama sa gisugyot:

<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All
Order allow,deny
Allow from all 
</Directory>
<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All 
Require all granted 
</Directory>

3. I-save ang file ug i-restart ang Apache pinaagi sa paggamit sa mosunod nga sugo:

--------------- 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. Karon atong gamiton ang htpasswd command para makamugna og username ug password para sa atong protected directory. Kini nga sugo gigamit sa pagdumala sa mga file sa user alang sa batakang panghimatuud.

Ang kinatibuk-ang syntax sa sugo mao ang:

# htpasswd -c filename username

Ang -c nga opsyon nagtino sa payl nga magtipig sa naka-encrypt nga password ug ang username nagtino sa user alang sa authentication.

5. Ang among password file kinahanglang mahimutang gikan sa web accessible directory sa Apache aron kini mapanalipdan pag-ayo. Alang niana nga katuyoan, maghimo kami bag-ong direktoryo:

# mkdir /home/tecmint

6. Human niana makamugna kami sa among username ug password nga itago sa kana nga direktoryo:

# htpasswd -c /home/tecmint/webpass tecmint

Sa higayon nga imong ipatuman kini nga sugo kinahanglan ka nga magsulod ug password para sa among bag-ong user \tecmint\ kaduha:

Human niana kinahanglan natong sigurohon nga ang Apache makabasa sa webpass nga file. Alang niana nga katuyoan, kinahanglan nimo nga usbon ang pagpanag-iya sa kana nga file gamit ang mosunud nga mando:

---------------- On RedHat/CentOS based systems ----------------
# chown apache: /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass
---------------- On Debian/Ubuntu based systems ----------------
# chown www-data /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass

7. Niining puntoha andam na ang among bag-ong user ug password. Karon kinahanglan namong sultihan ang Apache nga mangayo og password sa pag-access sa among gipunting nga direktoryo. Alang niana nga katuyoan, paghimo og file nga gitawag og .htaccess sa /var/www/html:

# vi /var/www/html/.htaccess

Idugang ang mosunod nga code niini:

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/tecmint/webpass
Require user tecmint

8. Karon i-save ang file ug ibutang ang imong setup sa pagsulay. Ablihi ang imong browser ug isulod ang imong IP address o domain name sa web browser, pananglitan:

http://ip-address

Kinahanglan nga aghaton ka alang sa username ug password:

Pagsulod sa username ug password nga imong gitakda aron magpadayon sa imong panid.

Dugang nga mga Nota

Kung naggamit ka nga gipaambit nga pag-host, lagmit wala ka maka-access sa file sa pag-configure sa Apache. Bisan pa, kadaghanan sa mga kompanya nga nag-host naghimo sa kapilian nga AllowOverride All nga default. Nagpasabut kini nga kinahanglan nimo nga makamugna ang username ug password ug dayon pilia ang direktoryo nga gusto nimong panalipdan. Makapadali kini sa imong buluhaton.

Konklusyon

Nanghinaut ko nga nakit-an nimo nga mapuslanon kini nga panudlo ug makatabang kanimo nga makab-ot ang imong katuyoan. Kung naa kay pangutana o komento, palihug ayaw pagpanuko nga i-post kini sa seksyon sa ubos.