Autor Zpráva
bestik_63
Profil
Ahoj,
Nevíte někdo jak nastavit přístup do určité složky pouze www serveru a nikomu jinému?
Jde mi o to aby skript mohl z této složky načítat soubory např. pomocí require, ale pokud někdo zadá adresu toho souboru, aby ho to např. přesměrovalo na stránku "no-access.html". Předpokládám, že htaccess by to mohl umět.
Dan Charousek
Profil
V .htaccess to jde.
Hledej deny from all.
Amunak
Profil
Správně by se to mělo řešit na úrovni konfigurace serveru tak, aby soubory, které zvenku nemají být přístupné, byly mimo klasickou „www“ složku. Pokud s tím nemáš možnost pohnout, stačí, kdyyž prostě pro daný soubor nastavíš přesměrování jak navrhuješ, nebo do něj přímo zakážeš přístup.

Použij direktivu files (nebo FilesMatch) pro vybrání těch souborů a pak pomocí direktivy deny zakaž přístup.

PHP tam bude pořád mít přístup nehledě na to, co v .htaccessu nastavíš (protože je omezené jen právy přidělenými filesystémem, .htaccess se parsuje jen při přístupu návštěvníka přes webserver).
bestik_63
Profil
Tak už to funguje :-)

RewriteRule (pohledy/.*) no-access.html
Amunak
Profil
bestik_63:
Dej si akorát pozor, ať při tom taky posíláš stavový kód 403 nebo 404, jinak to bude matoucí (přinejmenším) pro různé crawlery.
bestik_63
Profil
Jelikož zmíněný www server není na internetu, tak s tím problém nemám. Niméně do budoucna by se mi to možná hodilo. Ten chybový kód myslíš tím, když stránka no-access.html nebude existovat? Zatím tam mím jen ten řádek jak jsem napsal a funguje to svěle :-)
Keeehi
Profil
bestik_63:
Ne, Amunak měl na mysli, aby stránka no-access.html vracela 403 nebo 404 místo 200 kterou bude standardně vracet. dosáhnout se toho dá více způsoby. Nejjednosušší bude asi přidat za to přesměrování [R=403]

Nemo můžeš všechno nahradit za:
Deny from all
a máš to bez starostí. Pokud bys chtěl vlastní 403 stránku pro access denied, tak tam ještě můžeš přidat
ErrorDocument 403 no-access.html
bestik_63
Profil
Keeehi:
Díky tohle jsem přesně tušil, že je to tak, jen jsme to nemohl najít :-)
Keeehi
Profil
bestik_63:
Deny from all zmiňoval už Dan Charousek v [#2]. Vlastní chybová stránka je už jen takovou okrasou.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: