Управление файлами cookie с помощью PHP и JS

Установку файлов cookie пользовательскими или сторонними скриптами можно точно контролировать с помощью PHP и JavaScript. Хотя это и не является достаточным решением для внедрения решений по работе с файлами cookie после решения суда против Planet49 (где крайне важно, чтобы инструменты отслеживания, такие как Google Analytics, вообще не отслеживали данные и, следовательно, не устанавливали файлы cookie), может быть полезно в целом составить белый/черный список файлов cookie.


Это легко сделать в PHP: здесь вы изменяете / удаляете все установленные заголовки файлов cookie . Если следующий сценарий вызывается после того, как файлы cookie были подготовлены для заголовка ответа с помощью setcookie , нежелательные заголовки удаляются, а эти файлы cookie даже не устанавливаются. Кроме того, файлы cookie, установленные в прошлом (например, если сценарий предотвращения не сработал по какой-либо причине), также удаляются.

8b723b3329c080e9245028b4d0a3fc64

В JavaScript это немного менее тривиально: здесь мы используем Object.defineProperty (мощный преемник __defineGetter__ и __defineSetter__ ), чтобы перезаписать методы получения / установки объекта документа, которые всегда вызываются при использовании файлов cookie с помощью document.cookie. читает и пишет. Object.getOwnPropertyDescriptor получает исходный геттер / сеттер, при этом сеттер вызывается только в том случае, если cookie разрешен:

8b723b3329c080e9245028b4d0a3fc64

Назад