V části SecurePaths
konfiguračního souboru Runtime.config se definují tzv. zabezpečené cesty, které umožňují ukládat uploadované obrázky a soubory mimo virtuální adresář. Ty se pak servírují pomocí skriptu a je možné je tak zabezpečit před neoprávněným přístupem.
Element SecurePaths
nemusím být v Runtime.config uveden. Element nemá žádné atributy. Pokud uveden je, musí obsahovat alespoň jeden vnitřní element SecurePath
, který definuje jednu zabezpečenou cestu.
<SecurePaths> <SecurePath name="dokumenty" path="D:\example.cz\data\dokumenty" /> </SecurePahts>
Vnitřní element SecurePath
Pro definici jedné zabezpečené cesty slouží vnitřní element SecurePath
.
Atributy
downloadPage někdy povinný [string, default]
Cesta k servírovacímu skriptu. který poskytuje zabezpečné soubory. Cesta se zadává absolutně k rootu webu s počátečním lomítkem, například
/get.aspx
. K servírovacímu skriptu více viz Zabezpečení před neoprávněným přístupem k souboru nebo obrázku.name povinný [string]
Jméno pojmenované cesty, které musí být v rámci uvedených cest jedinečné. Jméno je citlivé na velká/malá písmena, přičemž nelze používat názvy lišící se jen velikostí písmen.
path povinný [string]
Umístění zabezpečené cesty. Cesta nesmí být umístěna uvnitř
trash
složky. Umístění lze určit následujícími způsoby:path="D:localDatafiles"
– úplná lokální cesta (začínající jednotkou)path="../../localData"
– cesta zadaná relativně z rootu webupath="/uploads/files"
– cesta zadaná absolutně z rootu webu. Pozor! Cestu lze takto uvést, ale pak bude umístěna ve virtuálním adresáři webu a soubory na ní uložené tak budou veřejně přístupné.
Existenci zadaných cest JellyPot při startu aplikace kontroluje.
Poznámky
Změna zabezpečených cest
Definice již zavedených zabezpečených cest <SecurePath>
nelze bezpečně měnit. Cesty k souborům jsou v databázi uloženy právě pod jménem zabezpečené cesty. Pokud by došlo k jeho změně či by byla nasměrována jinak (a soubory by přitom nebyly fyzicky přesunuty), přestaly by tyto soubory být dostupné.
Mazání nepotřebných souborů v administračním rozhraní
Při mazání nepotřebných souborů z administračního rozhraní jsou tyto přesunuty do složky trash
. Ta je ve výchozím nastavení umístěna ve virtuálním adresáři webu a její obsah je tak veřejně přistupný. Při použití zabezpečených cest je tedy žádoucí umístit jinam (viz Složky pro upload souborů z administračního rozhraní), případně nastavit způsob mazání trashMethod="delete"
(viz Uploads).
Příklad
Viz Zabezpečení před neoprávněným přístupem k souboru nebo obrázku.