Почему мой веб-сайт Wordpress устанавливает файл cookie PHPSESSID?

В настоящее время я борюсь с GDPR и всеми изменениями, которые мне необходимо применить к моим веб-сайтам. Один из моих веб-сайтов Wordpress, использующий тему, которую я создал сам, устанавливает файл cookie с именем PHPSESSID, в котором хранится идентификатор сеанса, который не запускается каким-либо конкретным действием, а только при открытии любой страницы веб-сайта.

Вот что странно в этом:

1.) У меня в коде темы определенно нет ничего, что могло бы сделать это.

2.) У меня есть две идентичные версии этого веб-сайта: одна для тестирования в моем собственном веб-пространстве и домене, а другая - в клиентском домене и веб-пространстве. Провайдер в обоих случаях один и тот же, поэтому я полагаю, что это одна и та же конфигурация сервера. Версия PHP такая же (7.2). У меня одна и та же тема и плагины в обеих версиях, но сайт производительности УСТАНАВЛИВАЕТ этот файл cookie, а тестовый сайт НЕТ.

Теперь все, что я действительно хочу, - это избавиться от этого файла cookie. Я не использую другие файлы cookie на этом сайте и не хочу размещать на этом сайте уведомление о файлах cookie.

Кто-нибудь знает, откуда может взяться этот файл cookie и как я могу заставить сервер / веб-сайт НЕ устанавливать его?

WP не устанавливает сеансы из коробки, поэтому это либо исходит от плагина, либо от самого сервера, что было бы удивительно, если бы ваш хост автоматически настраивал сеанс.

Ty Bailey 05.06.2018 21:08

ну, как я уже писал: у меня есть две версии этого веб-сайта, использующие одну и ту же тему и плагины, одна устанавливает ее, другая - нет, и это меня тоже озадачивает.

Johannes 05.06.2018 21:26

Если вы открываете новый сеанс браузера (с удаленными предыдущими файлами cookie), создается ли файл cookie повторно? (Попробуйте режим инкогнито в браузере.)

Progrock 05.06.2018 22:13

Ваш файл cookie находится в производственной версии, а не на сайте тестирования / разработки?

Progrock 05.06.2018 22:14

@Progrock да, cookie также устанавливается после удаления файлов cookie и подключения в режиме инкогнито, а также в других браузерах. И да, это происходит в производственной версии, а не в текстовой версии, хотя оба домена / веб-пространства имеют одного и того же хостинг-провайдера.

Johannes 05.06.2018 22:18

Старый: два сайта абсолютно одинаковые, но разные, вот и все!

Progrock 06.06.2018 17:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
6
6 025
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Это для сеанса. Если вы используете session, используя session_start () в самом начале вашего скрипта. Вы можете найти это имя (PHPSESSIONID) в качестве значения параметра в своем php.ini, следующая часть принадлежит мне (php на IIS)

; Name of the session (used as cookie name).
; http://php.net/session.name
session.name = PHPSESSID

Я подозреваю, что (даже не пытаясь), что у вас есть cookie, потому что установлен другой параметр

; Whether to use cookies.
; http://php.net/session.use-cookies
session.use_cookies = 1

вы можете узнать больше о сессионных и сессионных куки здесь http://php.net/manual/en/session.configuration.php#ini.session.use-cookies

Привет и спасибо за ответ! Я знаю о session_start(), но нигде не использую (это моя собственная тема, ничего не полученная из шаблонов или чего-то подобного, она довольно проста). Мне нужно будет проверить указанные вами настройки php.ini, хотя я не смогу их изменить (они находятся в общем веб-пространстве).

Johannes 05.06.2018 21:30

эта директива помечена как PHP_INI_ALL, что означает, что вы можете установить ее с помощью функции in_set. Попробуйте ini_set ("session.use_cookies", "0") в верхней части скрипта, лучше всего перед всем остальным. Я мало что знаю о Word Press, но откуда вы берете этот сеанс, возможно ли это из панели администратора, которая требует входа в систему и должна иметь сеанс? каковы значения файлов cookie? проверьте, прежде чем размещать там что-то конфиденциальное

Dimtris S. 05.06.2018 21:41

Хм - я поместил ini_set ( "session.use_cookies", "0"); вверху страницы, но получаю предупреждение вверху страницы с надписью Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in /home/.sites/.../indexphp on line 2. Я не вошел в серверную часть Wordpress или что-либо еще на этом веб-сайте. Значение этого файла cookie представляет собой абстрактную последовательность символов длиной около 30 символов. В инспекторе Firefox в информации о файлах cookie я также получаю HostOnly: true.

Johannes 05.06.2018 22:00

Что ж, я думаю, что это связано с WordPress, где-то что-то включено, не вижу сценарий, с которым вы работаете, вероятно, он включен в другой более крупный сценарий, и все должно начинаться и заканчиваться на index.php или какой-либо подобной странице. Но я не могу вам больше помочь, я не знаю, как работает wordpress, я мог бы с радостью попробовать проверить некоторые файлы, но для того, чтобы дать вам логический ответ, я должен взглянуть на весь проект ...

Dimtris S. 05.06.2018 22:04

Спасибо за ваше предложение! Это действительно вверху страницы (index.php, который включает header.php, footer.php и sidebar.php, но я вставил эту строку поверх всего остального, из чего состоит файл php). Кажется, что Wordpress подключается к серверу таким образом, что запускает сеанс даже до загрузки самой страницы. Мне просто интересно, почему этого не происходит и на моем тестовом сайте, который находится у того же провайдера ...

Johannes 05.06.2018 22:14

Могли вас взломать? Проверьте, запущен ли какой-либо предварительный скрипт: var_dump(ini_get('auto_prepend_file');

Progrock 06.06.2018 09:57

Привет и еще раз спасибо за вашу помощь, я очень ценю это! Я узнал, что это из-за плагина. У меня были две немного разные версии этого одного плагина, одна из которых устанавливала файл cookie PHPSESSID (очевидно, до загрузки какой-либо страницы php), а другая - нет. Извините, я должен был проверить это раньше (я узнал, отключив все плагины один за другим).

Johannes 06.06.2018 15:20

Рад, что ты нашел решение. Поскольку мой ответ был правильным на исходный вопрос, я буду признателен, если вы примете ответ.

Dimtris S. 06.06.2018 19:32

Кому интересно: я узнал, что это произошло из-за плагина. У меня были две немного разные версии / обновления этого одного плагина, одна из которых устанавливала файл cookie PHPSESSID (очевидно, до загрузки какой-либо страницы php), а другая - нет.

Извините, я должен был проверить это раньше (я узнал, отключив все плагины один за другим). Но теперь моя проблема решена - спасибо всем, кто ответил!

Для людей, которые могут столкнуться с этим, я уверен, что это тоже был плагин: https://wordpress.org/plugins/wp-super-cache/

Но я не думаю, что на самом деле виноват сам плагин. Отключение, а затем повторное включение, ТОГДА убедившись, что в настройках включено кеширование, казалось, «очищаются» файлы cookie только для HTTP. В основном я думаю, что плагин был настроен для работы, но не использовался, поэтому старые изображения только для HTTP кешировались, хотя я постоянно ссылался на изображения HTTPS. Во всяком случае, на всякий случай может помочь.

Другие вопросы по теме