Statement on glibc/iconv Vulnerability

Флаги, передаваемые обработчикам вывода

Битовая маска, переданная во второй параметр phase обработчика вывода даёт информацию о вызове обработчика.

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

Внимание

Значение флага PHP_OUTPUT_HANDLER_WRITE и его псевдонима PHP_OUTPUT_HANDLER_CONT равно 0, поэтому установлено ли оно, определяют только операторами равенства equality operator (== или ===).

PHP устанавливает следующие флаги на конкретном этапе жизненного цикла обработчика: PHP_OUTPUT_HANDLER_START — при первом вызове обработчика. PHP_OUTPUT_HANDLER_FINAL или его псевдоним PHP_OUTPUT_HANDLER_END — при последнем вызове обработчика, т. е. он отключается. PHP также установит этот флаг, когда буферы выключаются процессом завершения работы PHP.

Конкретный вызов обработчика устанавливает следующие флаги: PHP_OUTPUT_HANDLER_FLUSH — при запуске обработчика вызовом функции ob_flush(). PHP_OUTPUT_HANDLER_WRITE или его псевдоним PHP_OUTPUT_HANDLER_CONT — когда размер его содержимого равен или превышает размер буфера, а обработчик вызван во время автоматической очистки буфера. PHP_OUTPUT_HANDLER_FLUSH — когда обработчик запущен вызовом функций ob_clean(), ob_end_clean() или ob_get_clean(). При вызове функций ob_end_clean() или ob_get_clean() он также устанавливает флаг PHP_OUTPUT_HANDLER_FINAL.

Замечание: При вызове функций ob_end_flush() или ob_get_flush(), флаг PHP_OUTPUT_HANDLER_FINAL будет установлен, а флаг PHP_OUTPUT_HANDLER_FLUSH — нет.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top