[php] Masalah kuki dengan antara muka permintaan ajax
阿神
阿神 2017-05-16 12:03:02
0
2
378

Senario: Contohnya, terdapat dua antara muka, antara muka log masuk pengguna a dan antara muka pemerolehan maklumat pengguna b. Tiada masalah sama sekali semasa membuat panggilan daripada penyemak imbas Sekarang apabila kita perlu menggunakan ajax jq untuk memanggil kedua-dua antara muka ini, ada masalah.

  1. Mari kita bincangkan tentang penyemak imbas dahulu.
    Saya memasukkan antara muka log masuk alamat dalam penyemak imbas, lulus parameter dan log masuk berjaya. Pelayan (php) menyimpan ID pengguna saya, nama pengguna, dsb. dalam session. Seterusnya, minta antara muka maklumat pengguna b. Pelayan mencari maklumat pengguna secara langsung dari sesi dan kembali ke pelayar.

  2. Mari kita bercakap tentang ajax.
    Saya menggunakan ajax untuk memanggil antara muka log masuk dalam js, mengembalikan maklumat kejayaan dan log masuk berjaya. Maklumat pengguna juga disimpan dalam sesi. Tetapi apabila saya menggunakan ajax untuk memanggil antara muka b untuk mendapatkan maklumat pengguna, sesuatu telah berlaku, menyebabkan session tidak ditemui.

Saya menyemaknya dalam konsol Selepas penyemak imbas berjaya log masuk, maklumat set-cookie akan dikembalikan dalam pengepala respons Pada kali seterusnya anda meminta antara muka di bawah nama domain yang sama, cookie akan menjadi secara automatik dihantar dalam pengepala permintaan Untuk mendapatkan data session dalam pelayan.

Dalam kes permintaan ajax, log masuk yang berjaya juga akan mengembalikan maklumat set-cookie dalam pengepala respons Walau bagaimanapun, apabila anda meminta antara muka di bawah nama domain yang sama, cookie tidak akan dihantar secara automatik, jadi pelayan tidak dapat ditemui session data.

Maka persoalannya ialah:
Jika saya ingin mendapatkan data sesi, adakah saya perlu menghantar kuki secara manual semasa membuat permintaan ajax? Jika tidak, bagaimana untuk mendapatkan data sesi?

Tolong minta jawapan kepada Tuhan!

阿神
阿神

闭关修行中......

membalas semua(2)
黄舟

ajax Minta untuk menambah parameter xhrFields: { withCredentials: true },ajax 请求添加参数 xhrFields: { withCredentials: true },

php 设置header('Access-Control-Allow-Credentials:true');

php set header('Access-Control-Allow-Credentials:true');🎜
巴扎黑

Sesi bergantung pada kuki Di manakah kuki pada pelayan anda disimpan?

Walaupun anda menghantar kuki dalam penyemak imbas pelanggan anda, adakah ia konsisten dengan kuki dalam pelayan?

Jadi sesi tidak boleh dilakukan pada pelayan Anda hanya boleh menggunakan token, dan anda perlu menggunakan redis atau sesuatu untuk menyimpan maklumat di latar belakang.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan