
Автоматизированный аудитор конфигурации PHP, который сканирует php.ini на предмет небезопасных настроек, поддерживает режимы CLI и веб, и выводит результаты в формате текста, HTML или JSON.
Проверяет текущую конфигурацию PHP на предмет потенциальных уязвимостей в безопасности.
Просто откройте этот файл через веб-сервер или запустите через CLI.
Это программное обеспечение было написано Беном Фурманнеком, SektionEins GmbH, с целью автоматизации проверок php.ini и уделения большего времени приятным задачам.
CLI: Просто вызовите php phpconfigcheck.php. Вот и всё. Добавьте -a, чтобы также увидеть скрытые результаты, -h для HTML-вывода и -j для JSON-вывода.
WEB: Скопируйте этот скрипт в любую директорию, доступную вашему веб-серверу, например, в корень документов. См. также раздел 'Предосторожности' ниже.
Вывод в не-CLI режиме по умолчанию — HTML. Это поведение можно изменить, установив переменную окружения PCC_OUTPUT_TYPE=text или PCC_OUTPUT_TYPE=json.
Некоторые тестовые случаи скрыты по умолчанию, а именно пропущенные, успешные и неизвестные/непротестированные. Чтобы показать все результаты, используйте phpconfigcheck.php?showall=1. Это не относится к JSON-выводу, который по умолчанию возвращает все результаты.
Чтобы управлять форматом вывода в WEB-режиме, используйте phpconfigcheck.php?format=..., где значение format может быть одним из text, html или json. Например: phpconfigcheck.php?format=text. Параметр format имеет приоритет над PCC_OUTPUT_TYPE.
В большинстве случаев разумно держать при себе информацию, связанную с безопасностью, например, вашу конфигурацию PHP. Были реализованы следующие меры предосторожности:
проверка mtime: Этот скрипт перестаёт работать в не-CLI режиме через два дня. Повторно активировать проверку можно с помощью touch phpconfigcheck.php или повторного копирования скрипта на сервер (например, через SCP). Эту проверку можно отключить, установив переменную окружения: PCC_DISABLE_MTIME=1, например SetEnv PCC_DISABLE_MTIME 1 в .htaccess Apache.
проверка IP-адреса источника: По умолчанию только localhost (127.0.0.1 и ::1) может обращаться к этому скрипту. Другие хосты можно добавить, установив PCC_ALLOW_IP в ваш IP-адрес или шаблон с подстановочными знаками, например SetEnv PCC_ALLOW_IP 10.0.0.* в .htaccess. Вы также можете подключиться к веб-серверу через перенаправление портов SSH, например ssh -D или ssh -L.
отключенные функции: Этот скрипт требует несколько функций для корректной работы, такие как ini_get() и stat(). Если одна из этих функций занесена в черный список (или не внесена в белый), выполнение завершится ошибкой или даст некорректный результат. В таких случаях можно временно перевести Suhosin в режим симуляции и пропустить disable_functions. Для безопасности можно настроить ослабленную конфигурацию через .htaccess в отдельной директории. Также этот скрипт можно вызвать из командной строки с конфигурацией вашего веб-сервера, например php -n -c /etc/.../php.ini phpconfigcheck.php.
CLI: Старые версии PHP не знают о SAPI 'cli' и используют вывод в стиле CGI даже в CLI. Обходной путь: PCC_OUTPUT_TYPE=text /opt/php/php-5.1.6/bin/php phpconfigcheck.php
Этот инструмент только поможет вам настроить безопасное окружение PHP. И ничего более. Ваша установка, программное обеспечение или любая связанная конфигурация могут все еще быть уязвимыми, даже если вывод этого инструмента предполагает обратное.