2012-03-06 2 views
0

Я использую DOMPDF, чтобы пользователи веб-приложения могли создавать счета-фактуры на основе HTML-шаблона, над которым они имеют полный контроль.Можно ли безопасно использовать dompdf + file_get_contents?

Мы отключили файл_get_contents() на нашем сервере, но можем включить его, если хотим.

Мои вопросы: может ли файл file_get_contents() безопасно использоваться для рендеринга (и удаленной или локальной загрузки изображений) с помощью DOMPDF?

В чем проблемы с безопасностью здесь?

ответ

1

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

Это, если вы считаете, что только DOMPDF использует file_get_contents(), у вас нет причин беспокоиться. DOMPDF использует эту функцию для загрузки содержимого любого файла с внешней ссылкой (т. Е. Css или изображения). DOMPDF явно указывает, как он обрабатывает любой контент, поэтому пользователь не должен иметь возможность причинять дополнительный вред только потому, что контент является внешним из документа HTML.

Недостаточно эксплойта в file_get_contents() Я не верю, что включение функции внезапно сделает DOMPDF незащищенным. Типичная проблема заключается в том, что функция используется таким образом, чтобы она могла быть уязвимой для гнусных действий (таких как атаки на раскрытие информации). Это то, что DOMPDF было уязвимым в прошлом, которое было рассмотрено как 0,5.2 (пока вы настроены безопасно ... например, не устанавливайте DOMPDF_CHROOT на /).

+0

Спасибо, что указали это. Мы обеспокоены открытием file_get_contents() на нашем сервере, так как это даст хакерам возможность начать атаки на раскрытие информации, как вы упомянули. Единственная причина, по которой мы будем открывать эту функцию, - это использовать изображения в DOMPDF. Вам нужна дополнительная информация? – Jorre

+0

Если вы не используете функцию где-либо еще, и если вы используете dompdf 0.5.2 или выше, то я считаю, что вы должны быть в порядке. Если вы не используете dompdf.php, вы можете удалить этот файл для большей безопасности, поскольку это было источником раскрытия информации в более ранней версии dompdf. – BrianS

+0

Спасибо Брайан, как насчет хакеров, которые могли бы попытаться использовать эту функцию на нашем сервере после попытки получить доступ с помощью php-оболочки каких-то ролей? Мы не используем эту функцию самостоятельно нигде, но обеспокоены ее открытием на наших машинах вообще – Jorre

Смежные вопросы