私もこの答えにかなり興味があります。私はPHPで達成する必要があることを達成しましたが、JavaScriptコンポーネントはまだ私を理解していません。
これが私がPHPでそれをしている方法です:
$dirty = false;
foreach(headers_list() as $header) {
if($dirty) continue; // I already know it needs to be cleaned
if(preg_match('/Set-Cookie/',$header)) $dirty = true;
}
if($dirty) {
$phpversion = explode('.',phpversion());
if($phpversion[1] >= 3) {
header_remove('Set-Cookie'); // php 5.3
} else {
header('Set-Cookie:'); // php 5.2
}
}
次に、ユーザーがCookieを受け入れるときにこれをオフにする追加のコードがあります。
問題は、JavaScriptを介してCookieを操作するサードパーティのプラグインが私のサイトで使用されており、それらをスキャンしてdocument.cookieにアクセスするプラグインを特定できないことです。これらのプラグインは引き続きCookieを設定できます。
それらがすべて同じフレームワークを使用していると便利なので、setCookie関数をオーバーライドできる可能性がありますが、そうではありません。
document.cookieを削除または無効にして、アクセスできなくなったらいいのにと思います...
編集:Cookieを取得または設定するためのJavaScriptアクセスを防ぐことができます。
document.__defineGetter__("cookie", function() { return '';} );
document.__defineSetter__("cookie", function() {} );
編集2:これをIEで機能させるには:
if(!document.__defineGetter__) {
Object.defineProperty(document, 'cookie', {
get: function(){return ''},
set: function(){return true},
});
} else {
document.__defineGetter__("cookie", function() { return '';} );
document.__defineSetter__("cookie", function() {} );
}