Portál AbcLinuxu, 10. května 2025 05:51

Dotaz: Ako ignorovať htaccess v podadresári?

28.8.2013 22:31 Peter
Ako ignorovať htaccess v podadresári?
Přečteno: 304×
Odpovědět | Admin
Dobrý deň vám prajem.

Mám modelový príklad:

adresár /var/www/html - www.domain.tld

v /var/www/html/.htaccess mám nasledovné
Order Deny,Allow
Deny from All
Allow from nejakaip
toto funguje super pre koreň stránky a všetky podadresáre pokiaľ napríklad v /var/www/html/podadresar/.htaccess nezadám
Order Deny,Allow
Allow from All
čiže teraz je zrazu www.domain.tld/podadresar prístupný odvšadiaľ.

Ja ale chcem aby všetky reštriktívne nastavenia z rodičovských adresárov platili aj v podadresároch nech je v ich htaccess čokoľvek. Teda opäť iný príklad, ak vypnem v rodičovskom adresári php (php_flag engine off) tak chcem aby ostalo vypnuté aj v podadresári aj keby tam bolo v htaccess zadané "on". Alebo iný príklad - ak v rodičovskom adresári blokujem všetko (Deny from All) a povoľujem len z troch IP (Allow from 1.2.3.4 2.3.4.5 3.4.5.6) tak chcem aby z podadresára bolo možné len sprísniť blokovanie (napríklad Allow from 1.2.3.4 3.4.5.6) ale už nie "zvolniť" (napríklad Allow from 1.2.3.4 2.3.4.5 3.4.5.6 4.5.6.7)

Je toto v apache možné?

Vopred veľmi pekne ďakujem za odpovede.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.8.2013 22:40 potato
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejlépe zakazovat v konfiguraci serveru nastavení AllowOverride, AllowOverrideList pro dané adresáře (Directory).
28.8.2013 22:43 Peter
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
No neviem ako to myslíš, ale ja potrebujem mať možnosť dať htaccess kdekoľvek. Len chcem aby "dieťa" (ak v danom podadresári je) rešpektovalo obmedzenia "rodiča". Ďakujem.
28.8.2013 22:54 Kit
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemám to nijak podloženo, ale určitě bych zkusil do kořenového .htaccess umístit
<Directory />
   AllowOverride None
</Directory>
Logicky by to mělo zablokovat .htaccess v podadresářích, ale netuším, jestli to bude fungovat.
28.8.2013 23:11 Peter
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Toto som už skúšal, ale bohužiaľ to nefunguje - AllowOverride nie je povolený v htaccess. Ďakujem.
29.8.2013 06:05 Dudo
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokiaľ chceš mať povelené .htaccess na podadresáre a pritom chceš mať obmedzania na Allow from ..., tak nesmieš použiť:

AllowOveride All

ale ...

AllowOveride AuthConfig FileInfo Indexes

tzn., že nepovolíš parameter Limit a takisto je nebezpečný parameter Options, vďaka ktorému môže útočník požiť v .htaccess napr. nebezpečné ExecCGI alebo FollowSymLinks

Bohužiaľ v prepínači FileInfo, povoluješ prepisovanie direktívy SetHandler, vďaka ktorej môže útočník nastaviť svoj vlastný handler, v ďaka ktorému môže obísť obmedzenia PHP - hlavne OpenBaseDir.

Vypnutím Fileinfo prídeš kompletne o celé SEO stránok, lebo nepôjde z .htaccess nič z mod_rewrite

Zabezpečenie serveru LAMP, je celkom slušná veda.

Ak používaž Apache 2.4, tak máš prístupnú direktívu AllowOverideList ktorou dokážeš nastaviť presne ktoré direktívy sa môžu prepisovať v .htaccess

Čo sa týka php, tak parametre nerieši apache, ale php.ini

PHP je lepšie spúštať cez CGI ako cez libapache2-mod-php, ktorý je deravý ako sito. V Debiane squeeze bezpečnosť riešil plugin suhosin, ale vo wheeze to už nie je.

29.8.2013 06:16 Kit
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Chce .htaccess v podadresářích zakázat.
29.8.2013 06:38 Dudo
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
... , ale ja potrebujem mať možnosť dať htaccess kdekoľvek.
Myslím, že som to pochopil správne.

Akurát že riadiace adresáre bude musieť nastavovať nie cez .htaccess ale v konfigurácii Apacha v direktíve Directory

Čo sa týka dedenia oprávnení .htaccess cez jednodlivé adresáre, tak to, nefunguje. Ak máš možnosť využiť v .htaccess nejakú direktívu, tak v akomkoľvek podadresári môžeš kompletne túto hodnotu prepísať novou.

Máš 2 možnosti:

Povoliť užívateľovi v .htaccess prepisovať len to, čo mu nastavíš cez AllowOveride/AllowOverideList,

alebo úplne zakážeš .htaccess a v tom prípade natvrdo nastavíš adresár v configu apacha.

29.8.2013 06:48 Kit
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Dotaz: Ako ignorovať htaccess v podadresári?
Když dá .htaccess kamkoli mimo kořenového adresáře, aby byl ignorován.
29.8.2013 06:59 Dudo
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Aha, tak som to zle pochopil...

Každopádne, cez .htaccess administrátor v žiadnom prípade nemôže riadiť podadresáre. To sa nastavuje v konfigurácii Apacha. .htaccess bol vymyslený pre bežných užívateľov, kde mohli mať možnosť ovplivniť administrátorom povolené directívy.

Pýtajúci sa, asi nemá možnosť ovplyvniť konfiguráciu apacha a chce to riešiť cez .htaccess
29.8.2013 07:04 Peter
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
V podstate máte obidvaja pravdu - nadpis je zvolený tak trochu blbo. Každopádne som dospel k záveru, že to čo chcem nie je možné, takže som globálne nastavil AllowOverride None a nastavenia v .htaccess-och som popresúval do príslušných Directory do httpd.conf. Všetko parádne funguje a ja môžem mať dušu na pokoji. Ďakujem vám.
29.8.2013 07:07 Kit
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Mohl by to být třeba tento případ: Chce mít možnost, aby fungoval upload klienta do nějakého podadresáře, ale když tam někdo nahraje .htaccess, aby to nefungovalo, resp. aby to fungovalo jen v případě zvýšení restrikce. To však podle mne není dobrá cesta.
29.8.2013 07:07 Peter
Rozbalit Rozbalit vše Re: Ako ignorovať htaccess v podadresári?
Ešte som zabudol - ja mám prístup k httpd.conf, len mi to pripadalo systémovejšie ak nastavenia sú v tých adresároch ktoré majú nastavovať a nie všetko v jednom súbore mimo. Ešte raz - ďakujem.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.