Пытаюсь установить HttpOnly, но никакие изменения не работают.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Пытаюсь установить HttpOnly, но никакие изменения не работают.

Сообщение Anonymous »

После того, как PenTest посоветовал установить флаг HttpOnly для всех наших файлов cookie.
У нас есть стек LAMP Ubuntu Server 22.04 и 24.04 с веб-сайтом WordPress. Я внес изменения в
  • /etc/apache2/apache2.conf
  • /etc/php/8.3/php.ini
  • /var/www/html/wp-config.php
Каждый раз после очистки файлов cookie в окне инкогнито (или InPrivate) и обновления я вижу в представлении разработчика браузера, что флаги HttpOnly или Secure не проверены.
что я сделал
APACHE
Сначала я проверяю mod_headers включается путем проверки того, что headers.conf находится в /etc/apache2/mods-available/ и /etc/apache2/mods-enabled/.
(EDIT: исправлена ссылка на файл и добавлен код как в :80 (http), так и в :443 (https) разделы)
В файл /etc/apache2/sites-available/000-default.conf я добавляю

Код: Выделить всё

Header edit Set-Cookie "(?i)^((?:(?!;\\s?HttpOnly).)+)$" "$1; HttpOnly"
# or
Header edit Set-Cookie ^(.*)$ "$1;HttpOnly"



Header edit Set-Cookie "(?i)^((?:(?!;\\s?HttpOnly).)+)$" "$1; HttpOnly"
# or
Header edit Set-Cookie ^(.*)$ "$1;HttpOnly"

PHP
Я добавляю или раскомментирую эти строки в файле /etc/php/8.3/fpm/php.ini следующие команды.

Код: Выделить всё

session.cookie_httponly = 1
session.cookie_secure = 1
session.use_only_cookies = 1
На всякий случай я также установил это в файле /etc/php/8.3/cli/php.ini.
WP-CONFIG.PHP
Третье место, где можно внести изменения в настройки, находится в файле wp-config.php, который находится в корне файла сайт WordPress. В моем случае это /var/www/html/wp-config.php.

Код: Выделить всё

@ini_set('session.cookie_httponly', true);
@ini_set('session.cookie_secure', true);
@ini_set('session.use_only_cookies', true);
Эти строки помещаются в файл между двумя строками с комментариями.

Код: Выделить всё

/* Add any custom values between this line and the "stop editing" line. */

/* That's all, stop editing! Happy publishing. */
ПЕРЕЗАПУСК APACHE
Затем я тестирую и перезапускаю Apache

Код: Выделить всё

# check the syntax
sudo apachectl -t

# restart
sudo systemctl restart apache2

# check
sudo systemctl status apache2
ПРОВЕРЬТЕ БРАУЗЕР
Затем я удаляю файлы cookie, обновляю страницу или закрываю браузер и снова открываю сайт в режиме инкогнито или InPrivate, но файлы cookie никогда не показывают пометку HttpOnly или Secure.

Подробнее здесь: https://stackoverflow.com/questions/797 ... re-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»