Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sesja a HTTPS
Forum PHP.pl > Forum > Przedszkole
munky
Przejrzalem forum to i wiele innych i mam pewien problem.

Jesli uzywam protokolu HTTP to wszystko mi ladnie dziala a mianowicie sklepik. Produkty sa dodoawane do tablicy sesyjnej ( pamietane jest wszystko ) i tak do zakonczenia zakupow. Jednak z uwagi na bezpieczenstwo musze uzyc SSL. Tak wiec juz w przejsciu z koszyka do formularza uzywam buttona z href"https:///www.....moj_plik.php i w tym momencie trace zawartosc sesji sad.gif wywala mi ze koszyk jest pusty questionmark.gif czego to jest wina questionmark.gif?

Z gory dziekuje za odpowiedz
munky
hwao
cookie pewnie jest na http:// a nie https://
Musisz session id przekazywać get'em :-) albo cookie puścić na cały host
munky
hmmm doklejam id sesji i nic nadal mi nie widzi zmiennych sesyjnych sad.gif
ucho
Bump, bo w sumie mam identyczny problem. Jak, mając zwykłą sesje na ciachach sprawić by identyczna sesja była zarówno pod http:// i https:// ? Czy dodawanie stałej SID do każdego linka który prowadzi z http do https wystarczy?
erix
Niekoniecznie do każdego; przekaż po prostu SID w URL-u i ustaw odpowiednie ciastko na nim bazując.
vokiel
Może tak:
  1. <?php
  2. if(@!$_SERVER['HTTPS']){ // Brak SSL
  3.    header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?PHPSESSID='.session_id());
  4.    exit;
  5. }
  6. ?>


Lub tak:
  1. <?php
  2. $secure = array_key_exists('HTTPS', $_SERVER);
  3. $cookie = false;
  4. if(array_key_exists('PHPSESSID', $_COOKIE)) {
  5.    $cookie = setcookie('PHPSESSID', $_COOKIE['PHPSESSID'], NULL, NULL, NULL, (int) !$secure);
  6. }
  7. if(!$cookie) {
  8.    setcookie(session_name(), session_id(), NULL, NULL, NULL, (int) !$secure);
  9. }
  10. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.