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

Johannes спросил: 12 мая 2018 в 05:00 в: php

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

Странная вещь:

1.) Я определенно ничего не имею в своем коде темы, который бы это сделал.

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

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

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


2 ответа

Есть решение
Dimtris S. ответил: 12 мая 2018 в 05:26

Это для сеанса. Если вы используете сеанс с помощью 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

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

Johannes ответил: 12 мая 2018 в 05:50
Привет и спасибо за ответ! Я знаю о session_start(), но я его нигде не использую (это моя собственная тема, ничего не происходит из шаблонов или аналогичных, довольно проста). Я должен проверить настройки php.ini, о которых вы упомянули, хотя я не смог бы их изменить (он находится в общем веб-пространстве).
Dimtris S. ответил: 12 мая 2018 в 06:01
эта директива выгружается как PHP_INI_ALL, что означает, что вы можете установить ее с помощью функции in_set. Попробуйте ini_set ("session.use_cookies","0") наверху большей части скрипта, лучше всего перед всем остальным. Я мало знаю о прессе, но откуда-то вы получаете этот сеанс, возможно ли быть с панели администратора, которая требует входа в систему и должна иметь сеанс? каковы значения cookie? проверьте перед тем, как вы разместите там что-то чувствительное
Johannes ответил: 12 мая 2018 в 06:20
Hmm - я положил 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 '
Dimtris S. ответил: 12 мая 2018 в 06:24
Ну, я думаю, что это связано с WordPress, где-то что-то включено, не видите, что скрипт, над которым вы работаете, вероятно, это включено в другой большой скрипт, и все должно начинаться и заканчиваться index.php или что-то подобное. Но я не могу помочь вам больше, я не знаю, как работает Wordpress, я мог бы с удовольствием проверить некоторые файлы, но чтобы предоставить вам логический ответ, я должен взглянуть на весь проект .....
Johannes ответил: 12 мая 2018 в 06:34
Спасибо за ваше предложение! Это действительно вверху страницы (index.php, который включает в себя header.php, footer.php и sidebar.php, но я вставил эту строку выше всего остального, из которого состоит файл php). Похоже, Wordpress подключается к серверу таким образом, что он запускает сеанс даже до того, как загружается сама страница. Я просто удивляюсь, почему этого не происходит и на моем тестовом сайте, который находится у того же провайдера ...
Johannes ответил: 13 мая 2018 в 11:42

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

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