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-2025, «1С-Битрикс», 2025