Куки, устанавливаемые двойкой, именуются по такому принципу: icms[name].
Получить их значения можно методом getCookie класса cmsUser. При этом аргумент, передаваемый методу, должен содержать только "name". Получить значений такой куки с помощью предопределённой $_COOKIE не получается ни по её полному имени ( icms[name]), ни по её части (name) (возможно, я просто не знаю как).
Предполагаю, что злоумышленнику добраться до системного метода гораздо сложнее, чем до предопределённых переменных.
Вопрос такой: верно ли предположение (т.е. всё дело в безопасности) или суть в другом?
Если ответ на вопрос "суть в другом" или "суть не только в безопасности", расширьте его, пожалуйста, пояснениями.
Заранее благодарен!
Вот тут видно как ядро Двойки получает куки
public static function getCookie():
$cookie = $_COOKIE['icms'][$key];
Машинальная ошибка у меня была. Конечно же я имел ввиду $_COOKIE.Нужно использовать другую переменную
Спасибо!$_COOKIE['icms'][$key]
Теперь вопрос из старттопика трансформируется в такой: а для чего нам тогда вообще метод getCookie(), если РНР даёт нам готовый ответ?
Тем более, что в системе подобные примеры ещё есть.
1. Стандартизация работы с куками в системе.для чего нам тогда вообще метод getCookie()
2. Обёртка, позволяющая изменять внутреннюю логику работы с куками при сохранении работоспособности всего внешнего (стороннего) кода.
3. Упрощение работы с куками. Основные проверки (например, проверка наличия установленной куки) и приведения типов закладываются в этот метод. Программистам уже не нужно каждый раз это проверять и корректировать в своём коде.
4. Опциональный вызов коллбека.
Вы задали хороший частный, по моему мнению, вопрос. Но его можно расширить. В PHP есть суперглобальные переменныеа для чего нам тогда вообще метод getCookie(), если РНР даёт нам готовый ответ?
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
Все они доступны из любой точки программы. В современной практике считается злом прямое обращение к этим переменным. Почему так? Ответ гуглится, просто найдите понятный для вас конкретно.
Вопрос такой: верно ли предположение (т.е. всё дело в безопасности) или суть в другом?
Поэтому и нужны разные обёртки. В php довольно сложно украсть переменную, если выполнены все необходимые проверки).Подтверждаю, были украдены сессии
Я не программист
Мне программистки больше нравятся!
У меня все ходы записаны!©Подтверждаю, были украдены сессии. В релизах примерно 2019 г. появилась защита.
<offtop>video</offtop>
Просто удобное, в одном месте (ячейке массива), хранение куков. В остальном WebMan всё правильно расписал. Безопасность тут не при чем.
Кто-нибудь знает, что такое кража сессии?) Риторический вопрос.Подтверждаю, были украдены сессии.