Masalah dengan Sesi dan Iframe

Selamat siang!

Saya memiliki situs web yang memungkinkan Anda masuk dan menggunakan aplikasi pihak ketiga melalui Iframe. Namun, setelah mereka selesai dengan aplikasinya, aplikasi tersebut dialihkan ke situs kami di dalam iframe, hanya ketika pengguna dialihkan ke situs kami dari Iframe, mereka tidak masuk ke dalam iframe. Apa cara terbaik untuk mentransfer sesi dari host ke Iframe?

Sejauh ini saya memiliki iframe www.test.com?sid=34324vcsd3 yang menurut saya berfungsi dengan baik. namun setiap kali mereka mengarahkan, mereka mengarahkan saya ke www.mysite.com/page yang saat ini tidak masuk melalui Iframe. Meskipun saya masuk melalui halaman host, saya tidak masuk melalui Iframe.

Saya rasa saya memiliki dua opsi 1. Temukan cara untuk berbagi sesi dengan Iframe

or

2 temukan cara menggunakan HTTP_Referer untuk menarik sessionID dari halaman iframe sebelum transfer.

misalnya saya dikirim dari test.com?sid=3d3er3e3 ke www.test.com/page di mana test.com/page memanggil HTTP_referer. Saya berhasil mendapatkan test.com?sid=3d3er3e3, tetapi saya tidak yakin bagaimana cara mengekstrak SID

apa yang akan kalian sarankan? Apakah mungkin untuk berbagi sesi dengan IFrame? atau adakah cara untuk menarik sessionID dari string http_referer?

Atau rekomendasikan solusi yang lebih baik jika Anda mengetahuinya - Saya cukup baru dalam hal ini, tetapi telah menghabiskan lebih dari satu hari untuk mencoba mencari tahu. bantuan apa pun akan SANGAT dihargai.


person Robert Dickey    schedule 18.06.2013    source sumber
comment
Saya sarankan untuk tidak pernah menggunakan iframe.   -  person    schedule 19.06.2013
comment
Terima kasih atas sarannya - tetapi menghapus Iframe bukanlah suatu pilihan. ini adalah aplikasi yang sangat sederhana, tetapi akan memakan banyak biaya jika aplikasi pihak ketiga mengubah cara kerjanya.   -  person Robert Dickey    schedule 19.06.2013


Jawaban (1)


Dari apa yang saya tahu, Anda mencoba meneruskan informasi sesi melalui variabel GET alih-alih menggunakan cookie browser. Baca manual PHP tentang Sesi di sini: http://php.net/manual/en/book.session.php

Penjelasan cepat dan sederhana tentang cara kerja sesi adalah Anda dapat melakukannya dalam satu halaman:

<?
session_start();
$_SESSION['username'] = "foobar";
?>

...dan kemudian ini di halaman lain:

<?
session_start();
echo $_SESSION['username'];
?>

...dan halaman kedua akan menampilkan "foobar", terlepas dari mana pengguna berasal (selama mereka telah mengunjungi halaman pertama setidaknya sekali).

person Chris    schedule 18.06.2013
comment
Terima kasih atas bantuannya, tetapi sejauh ini masalahnya adalah meskipun sudah login di halaman Host (halaman yang berisi Iframe) variabel sesi melakukan transfer ke website melalui Iframe. misalnya - jika saya masuk ke situs saya, buka halaman akun saya di situs web saya, lalu coba buka halaman akun saya melalui Iframe, sesi saya di dalam Iframe tidak ada sampai saya masuk lagi. - person Robert Dickey; 19.06.2013
comment
@RobertDickey tentu saja tidak, itu khusus untuk domain, untuk alasan keamanan yang jelas. - person ; 19.06.2013
comment
Dagon, saya menyadari hal ini, itulah mengapa saya mencoba mencari solusi. - person Robert Dickey; 19.06.2013
comment
@RobertDickey jika ada solusi untuk situs A membaca cookie situs B, siapa yang akan menggunakannya? - person ; 19.06.2013
comment
Mungkin saya salah paham. Saat Anda mengatakan, Saya memiliki situs web yang memungkinkan Anda masuk dan menggunakan aplikasi pihak ketiga melalui Iframe, maksud Anda mereka masuk ke situs ANDA, atau ke situs pihak ketiga di iframe? Jika mereka masuk ke situs Anda, tidak ada alasan bahwa variabel sesi yang Anda tetapkan saat masuk tidak akan tetap ada ketika iframe kembali ke situs Anda di akhir proses. Jika mereka masuk ke situs pihak ketiga, Anda harus berbicara dengan perusahaan pihak ketiga tentang menyampaikan informasi identitas jika mereka belum melakukannya. - person Chris; 19.06.2013
comment
salahku. Mereka masuk ke situs SAYA, dan mengakses Iframe dari halaman di situs saya. Iframe itu hanyalah aplikasi umum yang mereka gunakan, dan ketika mereka selesai menggunakan aplikasi tersebut. mereka dialihkan dari aplikasinya ke halaman kami, saat masih di iframe. Masalahnya adalah - ketika mereka diarahkan ke dalam bingkai i itu, mereka tampaknya masih tidak masuk. Misalnya jika saya masuk ke situs saya, gunakan aplikasi Iframe, setelah selesai halaman web di dalam iframe dialihkan ke situs kami . Ketika diarahkan ke situs kami, mereka tidak memiliki sesi aktif dan diminta untuk login. - person Robert Dickey; 19.06.2013
comment
Mereka masih harus masuk dalam iframe. Ini seharusnya tidak ada hubungannya dengan halaman apa yang mereka lihat di iframe sebelum kembali ke situs Anda. Jika Anda membuat iframe lain yang langsung membuka halaman masalah (halaman di situs Anda yang dikunjungi pengunjung dalam iframe) tanpa mengunjungi pihak ketiga, jadi Anda masih mengalami masalah yang sama? Coba posting kode yang Anda gunakan untuk login dan kode yang Anda gunakan untuk memeriksa apakah mereka login. - person Chris; 19.06.2013
comment
Kamu benar. Ini berfungsi dengan baik ketika saya membuka halaman saya di iframe. izinkan saya memposting kode saya. - person Robert Dickey; 19.06.2013