Другой, менее ценный ответ - создать белый список разрешенных URL-адресов и функций. В Apache вы можете сделать это, комбинируя функции прокси и перезаписи.
По сути, вы делаете две установки, одна из которых имеет урезанную конфигурацию: прокси, перезапись и отсутствие выполнения кода; и т. д. Любой «разрешенный» URL (с параметрами и т. д.) передается во второй установке.
Затем добавьте себя в список разработчиков PHP и внимательно следите за заметками о выпуске. Каждый раз, когда вы видите что-то, что может быть уязвимостью безопасности, вы создаете прокладку в первой установке, чтобы обнаружить этот тип ошибки, и отправляете пользователю ошибку.
В такой конфигурации вы захотите перенаправить POST в фильтр (если вам вообще нужен POST; некоторые сайты отлично справляются, разрешая POST только с некоторых IP-адресов!), Который может искать разрешенные источники и предварительно проверить все.
Создание такого белого списка занимает очень много времени, но для критически важных приложений, которые должны работать дольше, чем стабильный срок службы PHP (который, кажется, составляет всего несколько лет), это может быть отличным способом использовать большое количество PHP приложения, не получая их уязвимости, а также.