第四 课 : 给 你 搭建 的 网站 加 个 权限 , 如果 人人 都能 访问 的 话 , 会 出 事儿 的!

Toto je poprvé, co jsem kdy zkoušel pracovat se soubory .htpasswd a .htaccess, takže prosím upozorněte na moje dětinská díla.

Mám nastavený kořenový adresář dokumentu Apache /www/ na mém debian serveru. Uvnitř je složka s názvem Logs/ ke kterému chci omezit přístup pomocí htpasswd. Vytvořil jsem svůj soubor htpasswd pomocí příkazu htpasswd prostředí. A toto je výsledek:

user: hjp: hjpotter92: 

Tento soubor jsem pojmenoval .htaccess uvnitř /www/. The Logs/ má v sobě následující soubor htaccess:

AuthName 'Restricted Area' AuthType Basic AuthUserFile /www/.htpasswd AuthGroupFile /dev/null require valid-user 

To bylo znovu vytvořeno pomocí online nástroje (zapomněl jsem jeho jméno / odkaz a nyní nemohu prohledávat historii prohlížeče).

Problém, jak vás už možná napadlo, je, že při přístupu ke složce Logs nezaznamenávám žádnou změnu. Složka je stále přístupná všem. Používám apache jako uživatel root (pokud na tom záleží / pomáhá). Pomozte mi prosím. Snažil jsem se přečíst některé průvodce htaccess a sledoval jsem některé starší otázky SO, ale stále jsem nepřišel na způsob, jak omezit přístup do složky Logs pomocí hesla.

  • 1 FYI, mělo by to být .htaccess, a měli byste: 1.) nespouštět apache jako root (hrozné z hlediska bezpečnosti) a 2.) používat ověřovací souhrn, pokud k této adrese URL nepřistupujete pouze přes HTTPS. Protože i kdyby vaše .htpasswd Pokud je soubor šifrován SHA1, bude prohlížeč posílat heslo ve formátu prostého textu, pokud použijete základní ověřování.
  • @ Lèsemajesté Jsem si plně vědom toho, že běží Apache jako root, ale protože síť je zcela soukromá (ne více než 300 uživatelů, z nichž všechny znám), je to v pořádku. Používám MD5 místo SHA1 v .htpasswd.
  • Jaký má smysl ukládání hesel v MD5 SHA1, pokud váš Apache běží na root. Určitě se tedy neobáváte bezpečnosti a hašování hesel je zbytečné.

Vyřešil jsem problém pomocí osoby, kterou znám. :)

Přidán tento segment do souboru httpd.conf:

 Allow from all AuthName 'Restricted Area' AuthType Basic AuthUserFile /www/.htpasswd AuthGroupFile /dev/null Require valid-user  

Protože tam je řada httpd.conf jak následuje:

AllowOverride None 

Vypadá to, že jste svůj problém vyřešili vložením obsahu souboru .htaccess do souboru httpd.conf.

Dalším řešením by bylo změnit řádek v souboru httpd.conf z

AllowOverride None 

na

AllowOverride All 

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?