Выдано 135577 лицензий

Безопасность при разработке модулей

В HostCMS существует ряд методов и функций, предназначенных для приведения входных данных к типу, который ожидает программист.

Работа с массивами

Класс Core_Array предназначен для безопасной работы с массивами. Для доступа к суперглобальным массивам $_GET, $_POST и $_REQUEST используйте, соответственно, методы getGet($keyName), getPost($keyName), getRequest($keyName). Для доступа к сессиям используйте getSession($keyName), для куков используйте getCookie($keyName).

Если значения не существовало, будет возвращено значение NULL, либо значение, переданное вторым аргументом, например:

// Возвращает значение параметра 'foo' из $_GET или NULL, если ключ не существует
$value = Core_Array::getGet('foo');
// Возвращает значение параметра 'foo' из $_GET или 'bar', если ключ не существует
$value = Core_Array::getGet('foo', 'bar');

Фильтрация внешних данных

Третий параметр методов Core_Array::get*** принимает название фильтра, которым должны быть обработаны внешние данные, например getGet($keyName, $defaultValue, $filter).

// Возвращает значение параметра 'foo' из $_GET или 0, если ключ не существует и приводит к целому
$value = Core_Array::getGet('foo', 0, 'int');

Варианты фильтров, приведенные через запятую, являются равнозначными:

  • str, string, strval — приведение к строке;
  • trim — удаляет пробелы (или другие символы) из начала и конца строки;
  • int, integer, intval — приведение к целому числу;
  • float, floatval — приведение к числу с плавающей точкой;
  • bool, boolean, boolval — приведение к логической переменной;
  • array — приведение к массиву.

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.