Neautorizovaný přístup k obrázkům
V Drupalu 7 jsem narazil na problém s přístupem k neveřejným obrázkům. Web je bohužel přístupný jen v interní síti, tak nemohu poskytnout odkaz. Problém je následující:
Potřebuji na web ukládat články s obrázky, přičemž některé články (a jim přiřazené obrázky) mají být veřejné a jiné neveřejné. Zapnul jsem privátní ukládání obrázků a pro zobrazování obrázků využívám modul colorbox, což ale na níže popsaný problém nemá vliv.
Jak jsem pochopil, při zapnutí privátního ukládání obrázků se v článcích obrázky zobrazují přes "virtuální" adresář "system", tedy např. /system/files/IMG_0100.JPG. Toto funguje bez problémů, tedy tento obrázek se zobrazí jen uživatelům, kteří jsou oprávnění se na obrázek koukat. Současně "přirozený" adresář /sites/default/files/internal (to internal jsem nadefinoval já jako adresář pro privátní soubory) je přes webový prohlížeč nepřístupný (díky .htaccess), což je správně.
Problém je s tím, že náhledy obrázky (thumbnail, medium, large), které chci využívat, se ukládají do adresářů /sites/default/files/internal/styles/thumbnail/private, resp. medium/private a large/private. Ty jsou samy o sobě nepřístupné, ovšem obrázky z nich lze neautorizovaným uživatelům zobrazit hned dvěma způsoby:
1. Přes /system/files/styles/thumbnail/private/IMG_0100.JPG
2. Přes /sites/default/files/styles/thumbnail/private/IMG_0100.JPG (nechápu moc smysl této cesty - reálně v souborovém systému neexistuje)
Hledal jsem něco o tomto problém, ale zdá se, že všichni spíše řeší problém, že obrázky nelze zobrazit, než že se zobrazují, když nemají :-)
Máte někdo typ, co s tím?
Děkuji moc.
Radek
Volná místa v IT
- Quality assurance engineer (40 - 60.000,- Kč) (Advantage Consulting, s.r.o.)
- Vývojář pro android (30 – 55.000,- Kč) (Advantage Consulting, s.r.o.)
- Managed Services Consultant with French based in lovely Prague! (Teradata Česká republika, spol. s r. o.)
- Senior IT Security Analyst (Accenture Services, s.r.o.)
- Windows Administrator Senior (DEKRA kvalifikácia a poradenstvo s.r.o.)

















Re: Neautorizovaný přístup k obrázkům
Jan Polzer (www.polzer.cz/) 23.5.2012 07:08:56 (#8525)Dobrý den, to se řeší tak, že privátní složka není fyzicky umístěna v sites/default/files, ale úplně mimo souborovou strukturu Drupalu. Takže v nastavení cesty k ní byste mohl uvést něco jako ../private-files. No a na serveru pak máte v nějakém umístění složku drupal s Drupalem a vším okolo a vedle ní na stejné úrovni složku private-files. Z toho vyplývá, že není dostupná přes prohlížeč. Zároveň však musíte na serveru nastavit práva tak, aby Drupal byl schopen do této složky zapisovat, přestože není v jeho adresáři.
Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.
Bojím se, že v tom to není
Radek (neověřeno) 23.5.2012 09:01:55 (#8527)Dobrý den,
děkuji, ale bojím se, že tohle nepomůže (i když to mohu vyzkoušet). Problém NENÍ v tom, že se prohlížeč dostane k privátním obrázkům přes cestu existující v souborovém systému (což by řešilo umístění souborů mimo složku pro webové stránky). Zobrazování resp. nezobrazování souborů přes tyto cesty funguje naprosto korektně (díky .htaccess).
Problém JE v tom, že Drupal podle mého názoru špatně řeší přístup k náhledům obrázků ve složce styles, ale přes "virtuální" cesty, které si sám vytváří (např. /system/...) - v čemž mu asi nezabrání přesunutí zdrojových obrázků někam jinam.
Privátní systém souborů
Jan Polzer (www.polzer.cz/) 23.5.2012 21:20:33 (#8528)Aha, chápu. Podle všeho to měl opravit Drupal 7.13 teď v květnu, viz SA-CORE-2012-002.
Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.
Díky za nasměrování
Radek (neověřeno) 24.5.2012 09:25:39 (#8529)Prima, díky za nasměrování, jsem rád, že je to aspoň známý problém.
Smutnější je to, že na webu běží verze 7.14 a opravené to buď není, nebo se chyba vrátila (verzi 7.13 nikde nemám). Zkusím to dál prozkoumat.