SSL anahtarı sonra PHP oturum giriniz

0 Cevap php

Ben SSL ile sitemde sağlamaya çalışıyoruz birkaç saat yatırım kararı aldı. Sunucu tamam koşturuyorsun ama benim PHP $ _SESSION ile bir duvara vurdu. HTTP ve HTTPS arasındaki oturum kimlikleri geçen sorunu anlamak, ancak bu (bence) burada olmuyor. Kıvrık oturumu dizisi böyle bir şey gider:

login.html:

<form action="https://www.mydomain.com/login.php">

login.php:

if login details correct {
   session_set_cookie_params(3600,'/','mydomain.com',true);
   session_start();
   $_SESSION['...
   session_commmit

Bu noktada, login.js (iletişim AJAX stili yönetir) http://www.mydomain.com/desktop.html yönlendirir. HTML destek JS kodu daha sonra patlar

$.ajax({ url: "https://www.mydomain.com/lib/mySQL/mySQL.php", ... });

mysql.php:

if (!isset($_COOKIE['PHPSESSID'])) {
   throw wobbly

Ben HTTPS geçiş yapmadan önce, bu dizi tüm tarayıcılarda gayet güzel çalışıyordu; HTTPS ile tüm tarayıcılar arasında titrek atıyor: (Ben Cookie verilere bakarak (onaylamak) Firefox böylece gibi bir çerez kaydeder ki:

mydomain.com
Name: PHPSESSID
Content: gobbledygook
Domain: .mydomain.com
Path: /
Send For: Encrypyed connections only.
Expires:  in 1hr.

Her kitap başına olarak görünür. Eğer oluyor ne gibi herhangi bir öneriniz var mı?

Teşekkürler.

PS: Ben gerektiğini düşündüren, bu sorunu araştırmaktadır SO hakkında bir yazı tökezledi önce session_set_cookie_params kullanmak vermedi. Ben güvenli kurmadan önce = true Firefox herhangi bir bağlantıları "için Gönder" olur, ve bu da işe yaramadı, olduğunu.

EDIT: Ben başka bir ayrıntı gözlemlemek. Ben Firebug Net panelde benim AJAX istekleri "POST https://www.mydomain.com/lib/mySQL/mySQL.php" gibi göstermek ve ben POST binici seçin ve karşısında ne gitti görmek mümkün olacağını bekliyoruz. Ben başarısız istek için bu alamadım. Esrarlı, Firebug ekran "SEÇENEKLER https://www.mydomain.com/lib/mySQL/mySQL.php" kırmızı ve hiçbir POST binici.

0 Cevap