[ DjGoran @ 11.01.2011. 21:42 ] @
Trebao bi nekako da prebacim korisnika sa HTTP na HTTPS protokol nakon što se uloguje. To bih možda mogao i da uradim sa apsolutnom putanjom u formi <form name="prijava" method="post" action="https://example.com/prijava.php">. Posle toga bi sva komunikacija išla preko https jer na ostalim mestima koristim relativne putanje a ne apsolutne. Ali, pored toga što mi to deluje kao budženje i nesigurno rešenje (ako prijava ne uspe opet će preći na https), druga stvar je u tome što korisnik može da pristupi i preko IP adrese (ili preko drugačijeg imena domena), a ja bih voleo da onda i nastavi da pristupa preko IP adrese (ili drugačijeg imena) kroz https protokol.

Ili recimo da imam sesija.php koji includujem u svakoj strani, a koji na vrhu prikazuje ime korisnika (ukoliko je logovan) ili polja za unos lozinke (ukoliko nije logovan). Sadržaj onoga što se prikazuje na ostalim stranama ću lako filtrirati na osnovu toga da li je korisnik logovan ili nije, ali kako da menjam protokol? Ukoliko je korisnik logovan, hteo bih da ujedno sve strane rade preko https protokola. Ukoliko se izloguje, onda se naravno prelazi na http.

Tu je naravno i mogućnost da je korisnik zapamtio neki bukmark, i da direktno pristupi njemu. Ukoliko je i dalje ulogovan (na osnovu podataka iz kukija i vremena zadnjeg pristupa) odmah ga treba baciti na https iako je recimo bukmark zapamćen kao http. I obrnutno naravno.

Dake, kako se rešava taj prelaz http<->https na sajtovima?
[ maksvel @ 11.01.2011. 21:55 ] @
Izvinjavam se što se mešam, a ne znam baš tačan odgovor.. ali
Zar nije logično da upravo pri prijavi koristiš https, jer se tu šalju najpoverljiviji podaci?
[ maksvel @ 11.01.2011. 22:50 ] @
Pa to je ujedno i deo pitanja koje sam postavio gore. Relativno jednostavno ću ja sa obične http strane da pošaljem https formu sa šifriranim podacima prijave: <form name="prijava" method="post" action="https://example.com/prijava.php">. Ali kako to da uradim ako ne stavljam apsolutnu adresu nego relativnu <form name="prijava" method="post" action="prijava.php">.

I naravno, ostaju sva ona druga pitaja odozgo u vezi automatskog prelaza http<->https.

[ Jbyn4e @ 11.01.2011. 23:14 ] @
Mislim da je covek hteo da kaze da ti i forma mora biti na httpS ako zelis da imas takvu bezbednost logovanja...

I da, kod php-a postoje tzv. server promenljive, a jedna od njih, pogadjas, se postavlja u slucaju https protokola...
Code:

if (isset($_SERVER['HTTPS']))....

Vise o server promenljivima na
http://php.net/manual/en/reserved.variables.server.php
[ DjGoran @ 11.01.2011. 23:52 ] @
Koliko sam ja utvrdio snifovanjem saobraćaja, forma ne mora da bude u https već je dovoljno samo da se pošalju upisani podaci kroz https, i ništa se od podataka u formi neće videti. Tako da to nije problem.

Problem je sve ono drugo.

A što se tiče promenljive $_SERVER['HTTPS'], znam ja za nju. Ali ne znam šta sa njom da radim! Kako iz PHP-a da promenim protokol ako utvrdim da je korisnik logovan a promenljiva nije setovana?

[ dakipro @ 12.01.2011. 07:38 ] @
Pa mislim da sve sto treba da uradis jeste redirekcija na httpS, apsolutna putanja.
Samo imaj u vidu da sesija nije ista izmedju http i httpS protokola. Mislim, ne menjas ti protok nekako posebno, vec klijent "boravi" na httpS protokolu.
ili probaj da pojasnis pitanje jos malo
[ DjGoran @ 12.01.2011. 16:43 ] @
U suštini, pitanje je upravo kako da promenim protokol a da ne navedem apsolutnu putanju?

Apsolutna putanja je nešto što moram obavezno da izbegnem, iz raznoraznih razloga.
[ japan @ 12.01.2011. 17:40 ] @
Ja nesto ne vidim da moze ikako, ali ti ne moras da hardkodujes apsolutnu putanju, mozes da koristis $_SERVER['HTTP_HOST'] i $_SERVER['REQUEST_URI'] i da je pomocu njih generises...