Kiểm soát cookie bằng PHP và JS

Việc thiết lập cookie bằng các tập lệnh tùy chỉnh hoặc của bên thứ ba có thể được kiểm soát chặt chẽ bằng cả PHP và JavaScript. Mặc dù đây không phải là giải pháp đủ để triển khai các giải pháp về cookie sau phán quyết của tòa án chống lại Planet49 (trong đó điều quan trọng là các công cụ theo dõi như Google Analytics không được theo dõi dữ liệu ngay từ đầu và do đó không được thiết lập bất kỳ cookie nào), nhưng nó có thể hữu ích để thiết lập danh sách trắng/đen cho các cookie nói chung.


Điều này rất dễ thực hiện trong PHP: Tại đây bạn sửa đổi / xóa bất kỳ tiêu đề cookie đã đặt nào đã được đặt . Nếu tập lệnh sau được gọi sau khi cookie đã được chuẩn bị cho tiêu đề phản hồi với sự trợ giúp của setcookie , các tiêu đề không mong muốn sẽ bị xóa và những cookie này sẽ không được đặt ngay từ đầu. Các cookie đã đặt trong quá khứ (ví dụ: nếu tập lệnh ngăn chặn không hoạt động vì bất kỳ lý do gì) cũng bị xóa.

8b723b3329c080e9245028b4d0a3fc64

Trong JavaScript, điều này ít tầm thường hơn một chút: Ở đây chúng tôi sử dụng Object.defineProperty (kế thừa mạnh mẽ của __defineGetter____defineSetter__ ) để ghi đè các phương thức getter / setter của đối tượng document, các phương thức này luôn được gọi khi cookie được sử dụng với sự trợ giúp của document.cookie đọc và viết. Object.getOwnPropertyDescriptor nhận getter / setter ban đầu, theo đó setter chỉ được gọi nếu cookie được phép:

8b723b3329c080e9245028b4d0a3fc64

Trở lại