JSONP PHP Session sabit kalmaz

1 Cevap php

Bir sitede xyz.com söylemek üzerine JSONP kullanarak, ben bir site abc.com / test.php arıyorum. Ancak, her şey ben IE6 ve IE7 yeni bir session id olsun, bu siteyi diyoruz. Diğer tarayıcılarda da sabit kalır.

Test.php kod gibi bir şeydir:

<?php
session_start();
echo session_id();
?>

Ben başka bir pencerede http://abc.com/test.php ziyaret edin ve sonra JSONP kodu ile xyz.com benim sayfayı yenileyin sonra Ancak, sürekli kimliğini gösterir. Ben neden hiçbir ipucu var. Herhangi bir öneriniz?

Bu sadece IE6 ve IE7 olur. Beklendiği gibi tüm iş dinlendirin. Her nasılsa IE6 ve IE7 ben aslında başka bir pencerede siteyi ziyaret kadar oturum kimliği (yani çerez adı) korumak için dikiş yok.

1 Cevap

PHP.net bazı bilgi dayanarak, bu başlık çalışma ekleyerek olacak?

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

Alıntı:

"workaround when using session variables in a .php file referred by a frame (.html, or other file type) at a different server than the one serving the .php:

Under these conditions IE6 or later silently refuses the session cookie that is attempted to create (either implicitly or explicitly by invoquing session_start()).

Sonuç olarak, sizin oturum değişkeni boş bir değer dönecektir.

According to MS kb, the workaround is to add a header that says your remote .php page will not abuse from the fact that permission has been granted.

. / Güncelleyin İstediğiniz oturum değişkenleri yaratacak php dosyası üzerinde bu başlık yerleştirin: "

Bu bunu çözmezse IE JavaScript (örn. IE yapıyor HTTR Referer göndermek için başarısız olacak başlatabilir istekleri göndermek yok gibi, bu HTTReferer ile ilgili bir şey olabilir document.location.href = 'http://example.com/';