0

私は現在、いくつかの Web サイト用のカスタム Cookie 法ソリ​​ューションをコーディングしています。スクリプトの最初の部分にコードを含めて、ソリューション/プラグインを可能な限り「オールインワン ソリューション」にしようとしています。現在、私はほとんどすべてを行っており、すべてが非常にきれいに見えます.ユーザーをリダイレクトするだけでなく、Webサイトの使用を許可することを拒否して、ユーザーに「受け入れる」または「拒否」する機能を提供したいと考えています.

これまでのところ、受け入れまたは拒否の選択に基づいて Cookie に true または false の値を設定する、受け入れと拒否に対して正しく設定されている Cookie があります。

ユーザーが許可を与えていないか、まだ回答を選択していない場合に Cookie が設定されないようにするために、if ステートメントで Cookie セッターとゲッターを再定義するために見つけたコードを使用したいと思います。

document.__defineGetter__("cookie", function() { return '';} );
document.__defineSetter__("cookie", function() {} );

これまでのところ、ユーザーが Cookie を許可しているかどうかを確認するためのこのコードがあります。

if(checkCookie != true){
    // Run code to redefine cookie setter getter to prevent cookies from being set
}else{
    // Don't do anything and the cookies should be run as usual.
};

私が説明したように、クッキーセッターとゲッターを使用する方法について、誰かが私を啓発したり、正しい方向に向けたりすることはできますか?

4

1 に答える 1

0

アレックス・ウェインがあなたの質問へのコメントとして述べたように、Cookie は<html>タグがブラウザに入る前に設定されます。

http は次のようになります。

HTTP/1.1 200 OK
Server: Nginx
Content-Length: x (size of the following content)
Content-Type: text/html (this is what identifies it as html)
Set-Cookie: foo=bar; expires=Tue, 4-Dec-2012 19:30:42 GMT; Max-Age=2592000; Path=/; Version="1"

<!DOCTYPE html>
<html>
...

このようなアクションを実行するためにできること、および実行しなければならないことは、「追跡しない」セッション Cookie を設定することです。

もう 1 つの方法は、アドレス バーに get 変数を設定して、サーバーに追跡 Cookie を設定しないように指示することです。

それが実際のCookieの目的です。

于 2012-11-23T09:17:31.617 に答える