что эквивалентно ASP.NET HttpModules в PHP?
Если есть какие-либо способы включить их для этого конкретного приложения (не глобально), другими словами, что эквивалентно web.config
Пример. Мне нужно зарегистрировать запрос и заголовки, если сервер возвращает ошибку HTTP 500 независимо от кода, который запускается.
В ASP.NET у меня будет HTTP-модуль, в котором я могу захватить код ответа и другие данные перед отправкой клиенту. Я также могу обрабатывать Begin Request.
Мне нужно что-то подобное в PHP
К сожалению, PHP больше похож на ASP в том смысле, что «приложение» является свободной концепцией, файлы не тесно связаны, поэтому все, что вы делаете, вероятно, должно быть на уровне веб-сервера
Предполагая, что вы находитесь на сервере linux / apache. Один из подходов заключался бы в использовании .htaccess, они могут быть изменены в каталоге (например, на уровне приложений) и иметь несколько мощных функций.
Одним из примеров является повторная запись URL:
http://roshanbh.com.np/2008/02/hide-php-url-rewriting-htaccess.html
Официальные документы Apache: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
Вы можете посмотреть ModSecurity для Apache: http://www.modsecurity.org/
Это позволит вам регистрировать полные данные POST и заголовков в зависимости от правил, которые вы определяете. Конфигурация ModSecurity очень мощная, но очень сложная.
Протокол HTTP-трафика
Веб-серверы, как правило, хорошо оснащены для регистрации трафика в форме, полезной для маркетинговых анализов, но при этом не хватает трафика регистрации в веб-приложениях. В частности, большинство из них не в состоянии регистрировать органы запроса. Ваши противники знают об этом, и именно поэтому большинство атак теперь выполняются через запросы POST, что делает ваши системы слепыми. ModSecurity делает возможным полное ведение журнала транзакций HTTP, позволяя регистрировать полные запросы и ответы. Его средства ведения журналов также позволяют принимать мелкомасштабные решения о том, что именно регистрируется и когда, обеспечивая запись только соответствующих данных. Поскольку некоторые запросы и / или ответ могут содержать конфиденциальные данные в определенных полях, ModSecurity может быть настроен для маскировки этих полей до их записи в журнал аудита.