У нас есть пара разработчиков с просьбой включить allow_url_fopen
на нашем сервере. Какая норма в эти дни и если libcurl
включена, действительно ли есть веская причина, позволяющая?
Среда: Windows 2003, PHP 5.2.6, FastCGI
У нас есть пара разработчиков с просьбой включить allow_url_fopen
на нашем сервере. Какая норма в эти дни и если libcurl
включена, действительно ли есть веская причина, позволяющая?
Среда: Windows 2003, PHP 5.2.6, FastCGI
Вы определенно хотите, чтобы allow_url_include
установил значение "Выкл.", что также уменьшает многие риски allow_url_fopen
.
Но поскольку не все версии PHP имеют allow_url_include
, лучшей практикой для многих является отключение fopen. Как и во всех функциях, реальность такова, что, если она вам не нужна для вашего приложения, отключите ее. Если вам это нужно, модуль завитка, вероятно, может сделать это лучше, и рефакторинг вашей заявки на использование завитки для отключения allow_url_fopen
может сдержать наименее решительный взломщик.
Я думаю, что ответ сводится к тому, насколько хорошо вы доверяете своим разработчикам использовать эту функцию ответственно? Данные из внешнего URL-адреса должны обрабатываться как любой другой ненадежный ввод и до тех пор, пока это понятно, что такое большая сделка?
Я вижу, что если вы относитесь к своим разработчикам, как к детям, и никогда не позволяете им справляться с острыми вещами, тогда у вас появятся разработчики, которые никогда не узнают ответственность за создание защищенного кода.
Атаки межсайтового скриптинга - это боль, поэтому голосование против. И у вас должно быть абсолютно " allow_url_include" отключено, или вы попадете в мир обиды.
Это зависит от типа разработки. Если ваше прототипирование, а затем включение "allow_url_fopen" в порядке, но между libcurl и file_get_contents не существует значительной разницы в скорости, и это позволяет только удобство.
Для производственных серверов любой вызов libcurl должен быть помечен для аудита безопасности. Как и fopen и file_get_contents, если включена опция allow_url_fopen. Отключение "allow_url_fopen" не предотвращает эксплойты, это лишь немного ограничивает количество способов их выполнения.
Большая проблема заключается в том, что allow_url_fopen не более защищен, поэтому, если вы хотите сохранить файл с url с помощью curl, вы должны перейти из fopen/file_get для сохранения файла.
- CURL полезен только для получения удаленного контента из URL. (allow_url_fopen не обязательно)
- CURL должен быть добавлен с помощью Fopen или File_get, если вы хотите сохранить удаленный файл на ваш сервер. (allow_url_fopen обязательно с CURL)
Php должен найти другие способы сделать его более защищенным.