Oznámení
Špatná práce s obrázky při open_basedir
před 13 lety
- finwe
- Člen | 54
Když se pokusím vložit pomocí Texy obrázek (ať už pomocí texy! syntax nebo jako smajlík) a na serveru je nastaven open_basedir, obrázek se zobrazí, ale Texy vyhodí např. takovýto warning:
Warning: is_file() [function.is-file]: open_basedir restriction in effect. File(/img/PF2007th.jpg) is not within the allowed path(s):
(/var/www/_includes:/usr/share/pear:/tmp:/home/finwe/www) in /var/www/_includes/texy/modules/tm-image.php on line 348
Přitom obrázek je uvnitř /home/finwe/www
.
Napadlo mě, že by Texy mohl mást linuxový filesystém, který se snaží
obrázek, uvedený se src="/img/PF2007.jpg"
najít v adresářové
struktuře natvrdo jako /img/PF2007.jpg
, ale znejistěl jsem, když
jsem zjistil, že stejná chyba se objeví, když je u smajlíků
nastavený $texy->smiliesModule->root = '../img/smilies/';
Editoval finwe (31. 12. 2006 10:27)
před 13 lety
- David Grudl
- Nette Core | 6806
Tak zkus do $texy->smiliesModule->root
vložit absolutní
cestu, něco odvozeného od dirname(__FILE__)
…
pozn.: ve verzi Texy 2 použijte
$texy->emoticonModule->root
před 13 lety
- finwe
- Člen | 54
Jakmile vložím absolutní cestu, smajlík se nepřevede, bez jakéhokoliv
warningu či erroru. A to jak natvrdo, tak s použitím všech
dirname
, realpath
ap.
Možná jsem zapomněl poznamenat, že Texy! je umístěná v
/var/www/_includes
, tudíž kontrola is_file probíhá napříč
adresáři z open_basedir