Išjunkite „Apache“ žiniatinklio katalogų sąrašą naudodami .htaccess failą


Apache žiniatinklio serverio apsauga yra viena iš svarbiausių užduočių, ypač kuriant naują svetainę.

Pvz., Jei po „Apache“ serveriu sukuriate naują svetainės katalogą „tecmint“ (/ var/www/tecmint arba/var/www/html/tecmint) ir pamiršote į jį įdėti failą „index.html“, gali nustebti žinodamas, kad visi jūsų svetainės lankytojai gali gauti išsamų visų svarbių failų ir aplankų sąrašą paprasčiausiai įvesdami naršyklėje http://www.example.com/tecmint.

Šiame straipsnyje mes parodysime, kaip išjungti arba užkirsti kelią „Apache“ tinklo serverio katalogų naudojimui naudojant .htaccess failą.

Taip jūsų lankytojams bus rodomas katalogų sąrašas, kai index.html jame nėra.

Pradedantiesiems .htaccess (arba prieiga prie hiperteksto) yra failas, leidžiantis svetainės savininkui valdyti serverio aplinkos kintamuosius ir kitas svarbias parinktis, siekiant pagerinti savo svetainės (-ų) funkcionalumą.

Norėdami gauti papildomos informacijos apie šį svarbų failą, perskaitykite šiuos straipsnius, kad apsaugotumėte „Apache“ žiniatinklio serverį naudodami .htaccess metodą:

  1. 25 „Apache Htaccess“ gudrybės, kaip apsaugoti „Apache“ žiniatinklio serverį
  2. Apache apsaugokite „Apache“ žiniatinklio katalogus naudodami .htaccess failą

Naudojant šį paprastą metodą .htaccess failas sukuriamas bet kuriame ir (arba) kiekviename kataloge, esančiame svetainės katalogo medyje, ir suteikia funkcijų viršutiniam katalogui, pakatalogiams ir juose esantiems failams.

Pirmiausia suaktyvinkite savo svetainės .htaccess failą pagrindiniame „Apache“ konfigūracijos faile.

$ sudo vi /etc/apache2/apache2.conf    #On Debian/Ubuntu systems
$ sudo vi /etc/httpd/conf/httpd.conf   #On RHEL/CentOS systems

Tada ieškokite žemiau esančio skyriaus, kuriame AllowOverride vertės reikšmė turi būti nustatyta kaip AllowOverride All .

<Directory /var/www/html/>
       Options Indexes FollowSymLinks
       AllowOverride All
</Directory>

Tačiau, jei turite esamą .htaccess failą, pasidarykite jo atsarginę kopiją taip; darant prielaidą, kad jį turite aplanke/var/www/html/tecmint/(ir norite išjungti šio katalogo sąrašą):

$ sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig  

Tada galite atidaryti (arba sukurti) konkrečiame kataloge, kad galėtumėte modifikuoti naudodami savo mėgstamą redaktorių, ir pridėkite žemiau esančią eilutę, kad išjungtumėte „Apache“ katalogų sąrašą:

Options -Indexes 

Tada iš naujo paleiskite „Apache“ žiniatinklio serverį:

-------- On SystemD based systems -------- 
$ sudo systemctl restart apache2
$ sudo systemctl restart httpd

-------- On SysVInit based systems -------- 
$ sudo /etc/init.d/apache2 restart 
$ sudo /etc/init.d/httpd restart

Dabar patikrinkite rezultatą įvesdami naršyklėje http://www.example.com/tecmint, turėtumėte gauti pranešimą, panašų į šį.

Tai viskas! Šiame straipsnyje aprašėme, kaip išjungti katalogų sąrašą „Apache“ žiniatinklio serveryje naudojant .htaccess failą. Iki to laiko būsimuose straipsniuose aptarsime dar du naudingus ir lengvus to paties tikslo metodus.

Kaip įprasta, naudokitės toliau pateikta atsiliepimų forma, kad atsiųstumėte mums savo mintis apie šią pamoką.