Опция allow_url_fopen, вопрос по безопасности..

beba

Новичок
Опция allow_url_fopen, вопрос по безопасности..

Доброго времени...

Понадобилось включить опцию allow_url_fopen на сервере..

И возник вопрос, после вот этого текста с php.net:

Note: Эта настройка может быть установлена только в php.ini из соображений безопасности.
http://www.php.net/manual/ru/ref.filesystem.php

Безопасно ли включать данную опцию, и чем включение этой опции может гразить в плане безопасности?

Или это безопасно и ничем не грозит, если включить именно в php.ini а не через какой нибудь .htpaccess или через ini_set в самом скрипте?

Спаибо
Ю.
 

beba

Новичок
У меня мнение, что настройка на безопасность повлиять не может.. Но хотелось узнать мнение на форуме, т.к. ему я доверяю.
 

alekciy

Новичок
Хм... а я вот не понял. Без шуток. Рискну навлеч немилость модераторов ветки, но... быть может хоть кто-то пояснит приведенный пример?

Ну нет, я конечно понимаю, что данный скрипт приведет к тому, что будет загружен код из phpRemView.php с атакующего хоста и выполнен внутри текущего скрипта, значит, можно заставить скрипт выполнить любой код. Но ведь это ошибка проектирования исходного скрипта и сработает если только скрипт будет так вот криво написан. Имхо, вменяемый разраб такой ошибки не допустит. И где тут тогда брешь безопасности?
Или собственно именно в этом заключена угроза безопасности?!?!?!
 

Pigmeich

Новичок
alekciy
Ну я конечно, понимаю, что вирусня всякая сканирует порты, а у больших серверов, это могут делать и хакеры, и, если вовремя не словить обновление на securitylab, то тебя могут и взломать. Но ведь это ошибка администрирования исходного сервера и сработает только если сисадмин уснул или запил. ИМХО, вменяемый сисадмин такой ошибки не допустит. И где тут брещь безопастности!

-~{}~ 23.12.07 01:53:

alekciy
Молодой человек, вам понятие defensive programming знакомо?
 

dimagolov

Новичок
alekciy, угроза в том, что ошибиться можно и загрузить удаленно файл. если опция отключена то удаленно ничего не загрузишь вне зависимости от того ошибся ты или нет. просто если код пользуется такими опциями, то они для него где-то нужны, где-то прозрачно надо загружать удаленные файлы и на неком этапе все равно их могут подменить (например на маршруте или на удаленном сервере). ты просто не можешь быть уверен в том, что тянеться удаленно так же, как уверен в своем коде.
 

alekciy

Новичок
Pigmeich
В плане практической работы - нет.

dimagolov
А если я динамическими include-дами (т.е. указанными в виде переменной, как в примере) не пользуюсь? Или к примеру убеждаюсь, что подгрузка кода идет только с моего хоста? Получается тогда, что код безопастный?
 

dimagolov

Новичок
alekciy, если ты таким не пользуешься то и включать опцию нет необходимости. а безопасный при этом код или нет это к тому кто его писал, а не к опции.
 

alekciy

Новичок
dimagolov
>а безопасный при этом код или нет это к тому кто его писал
Ну вот это я собственно и уточняю.

Спасибо. Значит я и дальше могу спать спокойно :D
 

Фанат

oncle terrible
Команда форума
Да потому, что человек, блаженно заявляющий "в моих программах нет ни одной ошибки" или "у меня нет ни одной уязвимости" - идиот.
Программист вообще никогда не должен спать спокойно. Особенно - программист твоего уровня, который каждый день узнает что-то такое, что переворачивает все его представления с ног на голову.

Это вообще аксиома, аксиома жизни: как только ты возлег почивать на лаврах - тут же тебя и поимели.
 

alekciy

Новичок
*****
А я это заявлял? ;)
Думаю, что в контексте данной темы должно быть понятно, что разговор шел конкретно про данную опцию.

Угу... не должен. Если его совесть мучит.
А какой у меня уровень? ("Карри Каспаров выиграл у компьютера и перешел на следующий уровень с 1000 очками и двумя жизнями." :D ). Ты хочешь скачать, что ни чего нового для себя ни когда уже не узнаешь? Если это правда, то это прискорбно :(
 

Pigmeich

Новичок
Ты хочешь скачать, что ни чего нового для себя ни когда уже не узнаешь? Если это правда, то это прискорбно
Я думаю, что он узнает, но это не переворачивает его представления, а, наоборот, подтверждает.

Угу... не должен. Если его совесть мучит.
Работает - сдал клиенту - забыл. Получается так?

внешние пути могут быть в любой функции работающей с потоками. И хрен его знает кто что понапишет поддерживая сайт, потому опцию считают небезопасной. Ну если есть гарантия что код пишут одни гуру, может и стоит опцию снять. Только гуру, наученные горьким опытом, сами в первую очередь захотят ее выключить.
 

Фанат

oncle terrible
Команда форума
alekciy
Знаешь, чем отличается дурак от умного?
Умный, прочитав фразу "программист твоего уровня" задумается о себе. А дурак - о написавшем.
 

alekciy

Новичок
Pigmeich
Ну пока еще я лично ни чего такое не узнал до сих пор, что перевернуло бы мои представления. Если я что-то не знаю, или не уверен в том что прочел или узнал, то делаею перепроверку, но вплоть до этого момента ни какого мнения не составляю.

Не так. Что-то выполнил и честно сам себе можешь сказать, что работу сделал качество и не прохалтурил. А дергаться и не спать из-за эфемерных страхов... извольте... я не мазохист.


*****
А я о себе и подумал и даже (!!) спросил. Однако, ты не только подумал, что то о написавшем (обо мне), но и даже высказал это вслух. Выводы делайте сами ;)

P.S. Я знаю, что твой уровень выше моего. Это очевидно хотя бы по дате регистрации и количеству постов. Но мы явно ушли далеко в сторону переключившийсь на мою личность.
 
Сверху