Autor | Zpráva | ||
---|---|---|---|
scratcher Profil |
#1 · Zasláno: 27. 11. 2008, 16:44:37
zdravim,
mam problem, na strance se uzivatel prihlasi a potom co chce zaplatit ho presmeruji na stranku kde jsou udaje o platbe (tato stranka je zabezpecena SSL). Kdyz se uzivatel prihlasi na nezabezpecene strance, tak po presmrovani se udaje ktere vlozim do SESSION smaze, takze na te zabezpecene strance se musi znova prihlasit a pak to funguje. Da se to nejak udelat aby se udaje ze session neztratily? diky |
||
Taps Profil |
#2 · Zasláno: 27. 11. 2008, 17:23:13
scratcher
cookie by použít nešlo ? |
||
Majkl578 Profil |
#3 · Zasláno: 27. 11. 2008, 19:08:01 · Upravil/a: Majkl578
zajimave, v mem redakcnim systemu s tim problem neni, prihlasim se treba na normalnim http, pak si prepnu na https a session se drzi... neni nejak upravena session cookie?
|
||
Časová prodleva: 25 dní
|
|||
scratcher Profil |
#4 · Zasláno: 22. 12. 2008, 09:54:07
Tak nevim,na localu to beha normalne a po presunu na hosting to blbne.
kdyz pouziji jen HTTP tak session plnim daty a to beha, ale jakmile presmeruji na HTTPS, tak se session smaze. Pokud to ale udelam podruhe tak uz i na HTTPS ta session drzi, coz mi prijde zvlastni. potreboval bych poradit kde by mohla byt chyba,protoze uz opravdu nevim. diky |
||
bohyn Profil |
#5 · Zasláno: 22. 12. 2008, 11:11:57
scratcher
Zjisti jestli se odesila SID. Pokud ne, tak zkus vynutit posilani SID i pres nezabezpeceny protokol fci session_set_cookie_params |
||
scratcher Profil |
#6 · Zasláno: 22. 12. 2008, 15:08:19
tak SID se neprenasi a pokud pouziju funkci session_se_cookie_params,tak je to porad stejne.
Popisu to jeste trochu nazorneji: na strance "http://www.domena.cz/stranka_a.php" vytvorim SESSION s udaji a presmeruji (Header) na "https://www.domena.cz/stranka_b.php" a v ni se dale s tou SESSION pracuje ale session v ni neni (session_id() je prazdna). funkci "session_set_cookie_params" pouzivam na strance "stranka_a.php" s temito takto "session_set_cookie_params(3600,'/','domena.cz',true);" diky za rady |
||
bohyn Profil |
#7 · Zasláno: 22. 12. 2008, 15:18:23
scratcher
To je mozna ten problem (vynucujes prenos cookie jen pres SSL a mozna proto se neprenese pri nastaveni). Zkus pouzit tohle: session_set_cookie_params(3600,'/','domena.cz',false); nebo dat prihlasovani taky na SSL |
||
scratcher Profil |
#8 · Zasláno: 22. 12. 2008, 16:43:50
Tak to mi taky nebeha :(, jedinou moznosti asi bude od zacatku pouzivat jen HTTPS a ne HTTP.
|
||
rudolf Profil * |
#9 · Zasláno: 23. 12. 2008, 12:59:24
Řeším úplně stejný problém. Mám rozpracovaný server na obou protokolech. Pokud přejdu odkazem z http na https stránku některé proměnné v Sessions se ztratí, tedy nejsou zaregistrované, testuji to funkcí session_is_ registered(), jindy jsou zaregistrované ale jsou bez hodnoty, některé mají hodnotu stále. Připadá mi to jako bug Apache nebo snad PHP? Nepomohl by novější soft? Mám tyto verze:
Apache 2.2.8 PHP 5.2.6 MySql 5.0.51b Mnohokrát děkuji za radu. Stojím.. Také uvažuji jestli nepřejdu výhradné na https, ale co když je chyba jinde? Rudolf |
||
bohyn Profil |
#10 · Zasláno: 23. 12. 2008, 13:30:38
Tak sem trochu googlil a zda se ze sem nasel reseni
It is pretty simple hand over from http to https and maintain the session. Here's an example: <?php session_start(); if(@!$_SERVER['HTTPS']){ // Non - SSL session here $_SESSION['test'] = 'This was set in the non-SSL part of the session!'; header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.session_name( ).'='.session_id()); exit; } echo $_SESSION['test']; // Now we are in a secure session ?> Mezi zabezpecenou a nezabezpecenou zasti webu je zrejme nutne predavat SID pres URL. |
||
scratcher Profil |
#11 · Zasláno: 23. 12. 2008, 14:30:29
To me napadlo jako prvni reseni ale to bohuzel take nefunguje.
protoze pokud SESSION definuji na HTTP tak i kdyz v URL prenesu SID, a presmeruji na HTTPS tak SESSION uz neexistuje. |
||
Časová prodleva: 8 dní
|
|||
rudolf Profil * |
#12 · Zasláno: 31. 12. 2008, 14:00:40
Také jsem googlil. Zkus se podívat sem http://blog.novoj.net/2007/06/05/sdileni-session-mezi-protokoly-http-a-https/#comment-5688 . Já se budu držet jednodušší cesty. Přepracuju to na https.
|
||
Časová prodleva: 15 let
|
0