AbortResultCache
Описание
void AbortResultCache();
Метод поддержки внутреннего кеширования компонента. Нестатический метод.
Применяется, если в результате выборки данных (в случае отсутствия валидного кеша) выяснилось, что кешировать данные не требуется. Например, если новости с требуемым ID нет, следует прервать кеширование и выдать сообщение, что такой новости нет. Если кеширование не прервать, то злоумышленники смогут увеличить кеш до всего отведенного сайту дискового пространства, вызывая страницу с произвольными (в том числе и не существующими) ID.
Смотрите также
Пример
// Проверка и инициализация входных параметров if ($arParams["ID"] <= 0) $arParams["ID"] = 10; // Если нет валидного кеша (то есть нужно запросить // данные и сделать валидный кеш) if ($this->StartResultCache()) { // Запрос данных и заполнение $arResult $arResult = array( "ID" => rand(1, 100) ); for ($i = 0; $i < 5; $i++) $arResult["FIELDS"][] = rand(1, 100); // Если выполнилось какое-то условие, то кешировать // данные не надо if ($arParams["ID"] < 10) $this->AbortResultCache(); // Подключить шаблон вывода $this->IncludeComponentTemplate(); } // Установить заголовок страницы с помощью отложенной // функции $APPLICATION->SetTitle($arResult["ID"]);
© «Битрикс», 2001-2024, «1С-Битрикс», 2024