• Вход
  • Регистрация

Отключение опасных функций в PHP


    Фотография
       (0 голосов)
    Данной теме более 240 дней, она устарела.
    Если Вы хоть немного задумываетесь о безопасности своего веб-сервера, то следует отключить некоторые функции PHP, которые несут в себе потенциальную угрозу. Например, такие функции как exec() или system() позволяют выполнять внешние программы в системе, что, согласитесь, в большинстве случаев не требуется для веб-приложений. Данные функции, несомненно, помогают получить практически безграничные возможности для разработчика, однако, в то же время, при несанкционированном доступе к серверу злоумышленник может получить над ним полный контроль.

    Это одна из причин, по которой ещё на этапе планирования проекта стоит избегать идей с вызовом внешних программ.

    Для отключения функций следует открыть файл php.ini и добавить их в параметр disable_functions, например:
    disable_functions = exec,passthru,php_uname,popen,proc_open,shell_exec,show_source,system

    После сохранения конфигурации необходимо перезапустить Apache
    А вот список функций, рекомендуемых к отключению. Описание прилагается.
    exec() - вызов внешней программы
    proc_open() - выполняет команду и открывает файловый указатель для ввода/вывода
    shell_exec() - выполняет команду в оболочке/shell и возвращает полный вывод в виде строки
    system() - вызов внешней программы и вывод результата
    passthru() - вызов внешней программы и вывод "сырых" результата
    popen() - открывает файловый указатель процесса
    show_source() - вывод исходного текста текущей веб страницы
    disk_free_space() - получить размер доступного пространства в каталоге
    diskfreespace() - псевдоним функции disk_free_space
    disk_total_space() - возвращает общий размер диска
    eval() - вычисляет строку, заданную в параметре, как код PHP
    fileperms() - получить информацию о правах на файл
    fopen() - открывает файл или URL
    opendir() - возвращает дескриптор каталога для последующего использования с функциями closedir(), readdir() и rewinddir()
    phpinfo() - выводит всю информацию о PHP, ОС
    phpversion() - выводит версию php
    posix_getpwuid() - возвращает информацию о пользователе по его user id
    posix_getgrgid() - возвращает информацию о группе по её group id
    posix_uname() - получает системное имя, возвращает хэш строк с информацией о системе
    php_uname - возвращает информацию об ОС, на которой php был построен
    ini_get() - получает значение опции конфигурации
    ini_get_all() - получает все опции конфигурации
    parse_ini_file() - разбирает файл конфигурации


    Совет использовать данную надстройку:
    disable_functions = link,symlink,popen,exec,system,shell_exec,show_source,passthru,pcntl_alarm,pcntl
    _fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignale
    d,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_disp
    atch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcn
    tl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pclose,proc_open,
    proc_nice,proc_terminate,proc_get_status,proc_close,leak,posix_kill,posix_mkfifo
    ,posix_setpgid,posix_setsid,posix_setuid,escapeshellcmd,escapeshellarg,curl_mult
    i_exec,parse_ini_file,highlight_file,etc,set_time_limit,mail,phpinfo


    Время посл. редактирования: 2-09-2022, 13:39
      Спасибо, еще не выражали.

      С момента последнего сообщения прошло более 60 дней.
      • Количество пользователей, читающих эту тему: 1   0 пользователей, 1 гостей


      Информация
      Посетители, находящиеся в группе Гости, не могут оставлять ответы в данном форуме.

      • АКТУАЛЬНАЯ ВЕРСИЯ 6.0.0

        Для бесплатной версии актуальная версия 3.0.

      • ДЕМО САЙТ: DEMO.EVOBB.RU

        Демо сайт форума версии 6.0.0.

      • Помощь проекту

          Собрано 529.00 рублей

          Вы можете пожертвовать небольшую сумму денег, которая поможет развитию форума EVObb и нашего ресурса.
      • Внесли свой вклад

        • Нет аватарки
          От archi: Пользователь не оставил комментария
        • Нет аватарки
          От compik: На развитие форума
        • Нет аватарки
          От Igor: Пользователь не оставил комментария
        • Нет аватарки
          От flour: Пользователь не оставил комментария
        • Нет аватарки
          От Олег Концов: Пользователь не оставил комментария
        • Нет аватарки
          От Олег Концов: Пользователь не оставил комментария
      • Изменения статуса

      • Самые активные