0

私は次のものを持っています:

ユーザーは、関数をmydomain.com/redirect.php介して(mydomain.comの)Cookieを取得するリンクをクリックしてから、別のページに移動します( )-言うsetcookieheader('Location: ...');lp.html

次に、そのページにスクリプトがあります。 gs('mydomain.com/getcookie.php', 'client=52', function() {});この関数は次のとおりです。

gs = function(path, args, fn) {
        var p = document.head || document.getElementsByTagName("head")[0]
        var s = document.createElement("script");
        p.appendChild(s);
        if (fn) {
            if (s.addEventListener) {
                s.addEventListener('load', fn, false);
            } else if (s.attachEvent) {
                s.attachEvent("onload", function() {
                    fn(window.event)
                });
            } else {
                s["onload"] = fn;
            }
            s.onreadystatechange = function() {
                fn()
            }
        }
        s.src = path + "?" + args;
}

getcookie.phpスクリプトは$_COOKIE(私のドメイン上にあるため)から値を取得し、次のような小さなjsを返します:後でmyParam = 'cookieValue';jsで使用するため。

したがって、これはうまく機能します...InternetExplorerを除きます。手動ですべてのCookieを受け入れることを許可した場合にのみ機能します。

答え:(決闘のおかげで)

追加する

header('P3P: CP="CAO PSA OUR"');
header('P3P: CP="HONK"');
4

1 に答える 1

1

IEには、診断が難しいCookieセキュリティ機能がいくつかあります。これをページの上部に追加してみてください

<?php header('P3P: CP="CAO PSA OUR"'); ?>

これに関する詳細については、InternetExplorerP3Pを検索してください。

「これは何ですか」に関するSOの良い応答:https ://stackoverflow.com/a/5258105/1613391

于 2012-11-20T12:36:16.697 に答える