Как разрешить неопределенную ссылку на 'RAND_egd'

PHP-скрипты будут выполняться либо от имени:

  • Пользователь под управлением Apache, определяемый директивой User в конфигурации Apache (обычно apache или nobody), если вы используете mod_php
  • Пользователь под управлением PHP-FPM, если вы используете php-fpm

Таким образом, пользователь, под которым будет выполняться PHP-скрипт, может быть разным. Поэтому вы сами должны установить владельца и группу в /var/www/html (или там, где находится ваш DocumentRoot) соответствующим образом.

Более того, вы можете вообще не желать, чтобы ваше PHP-приложение могло записывать (или перезаписывать) файлы в вашем DocumentRoot, поскольку это может позволить посетителю взломанного или небезопасного PHP-приложения получить привилегии удаленного выполнения кода. Поэтому вы сами должны решить, является ли ваше PHP-приложение достаточно надежным, чтобы позволить ему писать в файлы, которые Apache может обслуживать через интернет или даже исполнять.

PHP практически никогда (и никогда не должен!) не будет запущен от имени root по причинам, аналогичным вышеупомянутым.

2
02.09.2016, 22:17
1 ответ

Как разрешить неопределенную ссылку на 'RAND_egd'

Я считаю, что теперь вам следует вызвать RAND_add_egd . Также см. упрощение API rand_egd в списке рассылки openssl-dev.

Код, который вы компилируете, должен иметь защиту OpenSSL 1.1.0. Может быть, что-то вроде:

#if OPENSSL_VERSION_NUMBER >= 0x10100000L

    int rc = RAND_egd(<path>);
    ...

#else

    int rc = RAND_add_egd(<path>);
    ...

#endif

Дэниел обычно очень хорошо умеет не отставать от OpenSSL. Похоже, вы получаете версию чего-то нижнего уровня дистрибутива.

Согласно cURL Issue 763 , cURL впервые добавил поддержку openssl-1.1.0-dev по крайней мере в апреле 2016 года. Полный журнал изменений находится по адресу cURL Changelog .


Похоже, вам стоит перейти от cURL 7.50.2. Имеет 12 известных уязвимостей . Похоже, версия 7.51.0 была выпущена 2 ноября 2016 г.

0
27.01.2020, 22:45

Теги

Похожие вопросы