WordPress удалить куки

Вопрос или проблема

Извините за мой плохой английский, я француз. Мне нужно сделать мой сайт совместимым с GDPR, поэтому для этого я использую плагин ‘RGPD’, который дает мне возможность отмечать или снимать отметку с множества типов куки. Этот плагин также предоставляет некоторые функции для использования.

Вот что я пробую:

  if (!is_allowed_cookie('_ga')) {
    ?>
    <script>
        function deleteCookie(name) {
            document.cookie = name + '=; Path=/; Domain=.youtube.com; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }
        var arr = ["GPS","APISID","CONSENT","HSID","LOGIN_INFO","PREF","SAPISID","SSID","VISITOR_INFO1_LIVE","YSC"];
        var i = 0;
        for ( i=0; i< arr.length; i++){
            deleteCookie(arr[i],false,-1);
        }

    </script>
    <?php
}

Но ни один из куки не удаляется, а может быть, они и удаляются, но тут же возвращаются. Я также попробовал этот метод в PHP:

 foreach($_COOKIE as $key => $value) {
        unset($_COOKIE[$key]);
    }

но опять ничего, ни один из куки не удалён.

Итак, как можно удалить куки?

Спасибо.

Вы можете удалить все куки, которые принадлежат вашему домену. Вот ответ на это здесь: https://stackoverflow.com/questions/2310558/how-to-delete-all-cookies-of-my-website-in-php.

Вам нужно будет создать форму с кнопкой, которая (при отправке) вызовет функцию, удаляющую куки, принадлежащие вашему домену. Я не думаю, что можно удалить куки, которые не принадлежат вашему домену.

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

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

РЕШЕНИЕ:
youtube.com позволяет встраивать видео с расширенной функцией конфиденциальности. Все, что вам нужно сделать, это заменить youtube.com на youtube-nocookie.com

НАПРИМЕР:
вместо src=”https://www.youtube.com/embed/videourl” просто используйте src=”https://www.youtube-nocookie.com/embed/videourl”

С этого момента, чтобы встроить новые видео, вы также можете зайти на страницу видео на YouTube, которое хотите встроить, выбрать “Настройки встраивания” и отметить галочку “Включить режим расширенной конфиденциальности”. Это даст вам именно то, что я описал выше: youtube-nocookie.com вместо youtube.com

.

Ответ или решение

Удаление куки в WordPress для соответствия требованиям GDPR является важной задачей, особенно в контексте использования видео с YouTube и других сторонних сервисов, которые устанавливают куки-файлы. Пожалуйста, рассмотрим некоторые шаги и практические советы относительно этого вопроса.

Введение

Вам необходимо настроить свой веб-сайт так, чтобы он соответствовал требованиям GDPR, ограничивая использование куки-файлов, если пользователь не дал согласие. Ваш текущий подход с использованием плагина RGPD для управления куки и попыток их удаления пока не приносит успеха, так как куки "возвращаются" после их удаления.

Проблема

Давайте более подробно рассмотрим ваш скрипт на JavaScript и PHP коды, которые вы использовали:

  1. JavaScript для удаления куки:

    <script>
       function deleteCookie(name) {
           document.cookie = name + '=; Path=/; Domain=.youtube.com; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
       }
       var arr = ["GPS","APISID","CONSENT","HSID","LOGIN_INFO","PREF","SAPISID","SSID","VISITOR_INFO1_LIVE","YSC"];
       for (var i=0; i< arr.length; i++){
           deleteCookie(arr[i]);
       }
    </script>
  2. PHP код для удаления куки:

    foreach($_COOKIE as $key => $value) {
       unset($_COOKIE[$key]);
    }

Распространенные ошибки

  1. Сторонние куки: Ваша JavaScript-функция пытается удалить куки, принадлежащие домену youtube.com. Как правило, браузеры не позволяют удалять сторонние куки через скрипты, выполняющиеся на вашем собственном домене. Это ограничение безопасности.

  2. PHP код: Код PHP только изменяет массив $_COOKIE на стороне сервера и не очищает куки в браузере клиента.

Решения

1. Правильное удаление своих куки

Используйте следующую функцию на PHP, чтобы удалить куки, установленные вашим доменом:

foreach ($_COOKIE as $key => $value) {
    setcookie($key, '', time() - 3600, '/');
}

Эта строчка установит каждую куки с истекшим сроком действия, что приведет к её удалению в браузере клиента.

2. Сторонние куки

Для сторонних куки, таких как на YouTube, вы не сможете напрямую их удалять. Вместо этого можно использовать youtube-nocookie.com для встраивания видео, что значительно сократит объем устанавливаемых куки.

Пример встраивания с расширенной конфиденциальностью:

<iframe src="https://www.youtube-nocookie.com/embed/videourl" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

3. Управление согласием пользователей

Используйте плагины WordPress, которые управляют согласием на установку куки, такие как Cookie Notice или GDPR Cookie Consent. Эти плагины автоматически блокируют установку куки до получения согласия пользователя.

Заключение

Настройка вашего сайта для соответствия GDPR требует тщательного управления куки и третьесторонними скриптами. Сосредоточьте свое внимание на управлении куки, принадлежащих вашему домену, с помощью PHP, а также на использовании "режима конфиденциальности" для внешних скриптов. Следует также убедиться, что пользователи имеют ясную возможность дать или отклонить согласие на использование куки, что является основным требованием GDPR.

Оцените материал
Добавить комментарий

Капча загружается...