Saya berhasil, tetapi solusinya agak rumit, jadi bersabarlah.
Apa yang terjadi
Karena itu, Internet Explorer memberikan tingkat kepercayaan yang lebih rendah ke halaman IFRAME (IE menyebut konten "pihak ketiga" ini). Jika halaman di dalam IFRAME tidak memiliki Kebijakan Privasi, cookie-nya diblokir (yang ditunjukkan oleh ikon mata di bilah status, ketika Anda mengkliknya, itu menunjukkan kepada Anda daftar URL yang diblokir).
(sumber: piskvor.org )
Dalam hal ini, ketika cookie diblokir, pengidentifikasi sesi tidak dikirim, dan skrip target melempar kesalahan 'sesi tidak ditemukan'.
(Saya sudah mencoba mengatur pengidentifikasi sesi ke dalam formulir dan memuatnya dari variabel POST. Ini akan berhasil , tetapi karena alasan politik saya tidak bisa melakukan itu.)
Dimungkinkan untuk membuat halaman di dalam IFRAME lebih tepercaya: jika halaman dalam mengirim header P3P dengan kebijakan privasi yang dapat diterima oleh IE, cookie akan diterima .
Bagaimana mengatasinya
Buat kebijakan p3p
Titik awal yang baik adalah tutorial W3C . Saya telah mengalaminya, mengunduh Editor Kebijakan Privasi IBM dan di sana saya membuat representasi kebijakan privasi dan memberinya nama untuk referensi dengan (ini dia policy1
).
CATATAN : pada titik ini, Anda benar-benar perlu mencari tahu apakah situs Anda memiliki kebijakan privasi, dan jika tidak, buatlah - apakah itu mengumpulkan data pengguna, jenis data apa, apa yang dilakukan dengan itu, siapa yang memiliki akses ke sana, dll. Anda perlu menemukan informasi ini dan memikirkannya . Hanya dengan menampar beberapa tag saja tidak akan memotongnya. Langkah ini tidak dapat dilakukan sepenuhnya dalam perangkat lunak, dan mungkin sangat politis (misalnya "haruskah kami menjual statistik klik kami?").
(mis. "situs dioperasikan oleh ACME Ltd., ia menggunakan pengidentifikasi per-sesi anonim untuk operasinya, mengumpulkan data pengguna hanya jika diizinkan secara eksplisit dan hanya untuk tujuan berikut ini, data disimpan hanya selama diperlukan, hanya perusahaan kami memiliki akses ke sana, dll. ").
(Saat mengedit dengan alat ini, ada kemungkinan untuk melihat kesalahan / kelalaian dalam kebijakan. Juga sangat berguna adalah tab "Kebijakan HTML": di bagian bawah, ia memiliki "Evaluasi Kebijakan" - pemeriksaan cepat jika kebijakan akan diblokir oleh pengaturan default IE)
Editor mengekspor ke file .p3p, yang merupakan representasi XML dari kebijakan di atas. Selain itu, ia dapat mengekspor "versi ringkas" dari kebijakan ini.
Tautan ke kebijakan
Kemudian diperlukan file Referensi Kebijakan ( http://example.com/w3c/p3p.xml
) (indeks kebijakan privasi yang digunakan situs):
<META>
<POLICY-REFERENCES>
<POLICY-REF about="/w3c/example-com.p3p#policy1">
<INCLUDE>/</INCLUDE>
<COOKIE-INCLUDE/>
</POLICY-REF>
</POLICY-REFERENCES>
</META>
The <INCLUDE>
menunjukkan semua URI yang akan menggunakan kebijakan ini (dalam kasus saya, seluruh situs). File kebijakan yang saya ekspor dari Editor telah diunggah kehttp://example.com/w3c/example-com.p3p
Kirim tajuk ringkas dengan tanggapan
Saya telah menetapkan server web di example.com untuk mengirim header ringkas dengan tanggapan, seperti ini:
HTTP/1.1 200 OK
P3P: policyref="/w3c/p3p.xml", CP="IDC DSP COR IVAi IVDi OUR TST"
// ... other headers and content
policyref
adalah URI relatif ke file Referensi Kebijakan (yang pada gilirannya merujuk kebijakan privasi), CP
adalah representasi kebijakan yang ringkas. Perhatikan bahwa kombinasi header P3P dalam contoh ini mungkin tidak berlaku di situs web spesifik Anda; header P3P Anda HARUS dengan jujur mewakili kebijakan privasi Anda sendiri!
Keuntungan!
Dalam konfigurasi ini, Mata Jahat tidak muncul, cookie disimpan bahkan di IFRAME, dan aplikasi berfungsi.
Sunting: Apa yang TIDAK harus dilakukan, kecuali Anda suka membela dari tuntutan hukum
Beberapa orang menyarankan "cukup tampar beberapa tag ke header P3P Anda, hingga Evil Eye menyerah".
Tag tidak hanya sekelompok bit, mereka memiliki makna dunia nyata , dan penggunaannya memberi Anda tanggung jawab dunia nyata !
Misalnya, berpura-pura bahwa Anda tidak pernah mengumpulkan data pengguna mungkin membuat browser senang, tetapi jika Anda benar-benar mengumpulkan data pengguna, P3P bertentangan dengan kenyataan. Sederhana dan sederhana, Anda sengaja berbohong kepada pengguna Anda , dan itu mungkin merupakan perilaku kriminal di beberapa negara. Seperti dalam, "masuk penjara, jangan kumpulkan $ 200".
Beberapa contoh ( lihat penulis p3 untuk set lengkap tag ):
- NOI : "Situs Web tidak mengumpulkan data yang diidentifikasi." (segera setelah ada penyesuaian, login, atau pengumpulan data apa pun (***** Analytics, siapa saja?), Anda harus mengakuinya di P3P Anda)
- STP : Informasi disimpan untuk memenuhi tujuan yang disebutkan. Ini membutuhkan informasi untuk dibuang sesegera mungkin. Situs HARUS memiliki kebijakan penyimpanan yang menetapkan tabel waktu penghancuran. Kebijakan penyimpanan HARUS dimasukkan dalam atau ditautkan dari kebijakan privasi yang dapat dibaca manusia di situs. "(Jadi jika Anda mengirim
STP
tetapi tidak memiliki kebijakan penyimpanan, Anda mungkin melakukan penipuan. Seberapa keren itu? Tidak sama sekali.)
Saya bukan pengacara, tapi saya tidak mau pergi ke pengadilan untuk melihat apakah header P3P benar - benar mengikat secara hukum atau jika Anda dapat menjanjikan apa pun kepada pengguna Anda tanpa benar-benar mau menghormati janji Anda.