У нас есть стек LAMP Ubuntu Server 22.04 и 24.04 с веб-сайтом WordPress. Я внес изменения в
- /etc/apache2/apache2.conf
- /etc/php/8.3/php.ini
- /var/www/html/wp-config.php
что я сделал
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"
Я добавляю или раскомментирую эти строки в файле /etc/php/8.3/fpm/php.ini следующие команды.
Код: Выделить всё
session.cookie_httponly = 1
session.cookie_secure = 1
session.use_only_cookies = 1
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
Код: Выделить всё
# 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
Мобильная версия