Autor Zpráva
dikulus
Profil
Dobrý den,
chci se zeptat, jestli se (v PHP) session pod jedním jménem přenáší na serveru pro všechny, nebo jenom pro IP počítače, která session vyvolala tzn. pokud

z IP 100.100.100.100 nastartuju session:
session_start();
$_SESSION['jmeno'] = "Jirka";

a pak z IP 200.200.200.200 chci přečíst session.

session_start();
echo($_SESSION['jmeno']);

jestli mi napíše text zadaný do sessionu z IP 100.100.100.100 i jiná IP tzn. v příkladu 200.200.200:200

Děkuji
Joker
Profil
dikulus:
jestli se (v PHP) session pod jedním jménem přenáší na serveru pro všechny, nebo jenom pro IP počítače, která session vyvolala
Ani jedno.
Session se načte tomu, kdo pošle serveru příslušný identifikátor, který má obvykle podobu cookie.
Neboli když přijde cookie s identifikátorem, načte se příslušná session (s tím identifikátorem).

Což v normálním případě znamená, že session je vázaná na tu konkrétní relaci s prohlížečem. Otevřete na stejném počítači druhý prohlížeč, otevře se nová session. Dáte v prohlížeči vymazat cookies a obnovíte stránku, otevře se nová session. Večer se přihlásíte, necháte přes noc stránku otevřenou a ráno ji obnovíte, většinou se otevře nová session (závisí na nastavení).

Nicméně teoreticky je možné zařídit, aby i jiné počítače dostaly stejný identifikátor relace (session) a tím pádem pak sdílely všechny tu samou.
Ale je to neobvyklé řešení, možná když popíšete, čeho chcete dosáhnout, vymyslíme nějaké lepší.
Davex
Profil
dikulus:
Na IP adrese nezáleží. Záleží na identifikátoru session (posílaném jako cookie), který je každému prohlížeči vygenerován unikátní. Běžně tedy nelze číst cizí session, protože není znám ten cizí identifikátor.
dikulus
Profil
děkuji za radu

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: