Re: чтение чужих файлов: не стоит патчить
Gena Makhomed
gmm на csdoc.com
Вт Ноя 29 11:17:20 UTC 2011
On 29.11.2011 7:58, Dmitry E. Oboukhov wrote:
>>> и если кто-то делает ln -s /path/to name а потом читает name как
>>> статику, он же может сделать:
>>>
>>> open my $fh, '<', '/path/to';
>>> print "Content-Type: application/octet-stream\n\n";
>>> print $_ while<$fh>;
>
>> пользователь не имеет прямого доступа к этим чужим файлам.
>> только nginx и apache. в apache можно закрыть "удобные пути"
>> получения доступа к чужим файлам, а в nginx - нет такого способа.
>
> 1. вебсервер имеет прямой доступ к этим файлам
> 2. вебсервер - разделяем между кучей пользователей
> 3. В апаче нельзя закрыть удобные пути. Вышеприведенный пример - всего
> три строки кода.
CGI-скрипты могут быть или вообще запрещены (сейчас не 1993 год уже)
или могут работать с правами пользователя, а не веб-сервера и поэтому
доступа к чужим файлам получить не смогут, ни по симлинку ни напрямую.
>>> Ну и как закрыть вышеприведенный путь настройкой апача? не давать
>>> пользователю shared-хостинга юзать динамический контент? и сколько
>>> пользователей будет завтра на этом хостинге?
>> наверное этот вопрос про апач Вам следует задать в списке рассылки
>> для пользователей дебиана. думаю, что там есть и те, кто знает ответ
>> на этот Ваш вопрос. в этом списке рассылки по nginx вопросы корректной
>> настройки apache+php для shared hosting`а наверное являются оффтопиком.
> я говорю о том что не имеет смысла закрывать одну из тысяч дырочек в
> решете. если эта проблема насущна, то пользователю shared-хостинга надо
> задуматься над собственным хостингом. благо нынче они дешевые
все остальные способы закрыть можно. как закрыть доступ к чужим файлам
через симлинки, если статика там раздается напрямую через nginx,
а операционная система является POSIX-совместимой - я не знаю.
On 29.11.2011 8:02, Dmitry E. Oboukhov wrote:
> если пользователь сделал 777 на все файлы,
> то как ему поможет защита от скачивания через симлинки?
он не сможет изменить права доступа к своему домашнему каталогу,
потому что у него нет права записи в каталог /home, потому что
владельцем каталога /home является root:root, права доступа 0755.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru