sesje

0

Witam
przeszukałem forum ale tematy które znalazłem nie wiele mi dały
mam podstawowe pytanie - jak sie korzysta z sesji ?
wiem że do uruchomienia sesji służy session_start()
ale nie wiem w jaki sposób na innej stronce rozpoznać czy sesja już działa
czytałem coś o dodawaniu numerka do url ale nie wiem jak (session_id mi nic nie zwraca)

po zarejestrowaniu zmiennej w sposób
$dane = $HTTP_POST_VARS['dane']; ($_POST['dane']);session_start();session_register('dane');
nie jestem w stanie odczytać jest na innej stronce

oraz mam pytanie - czy sesje są bezpieczne ?

z góry dziękuje i pozdrawiam

0

na gorze kazdego pliku:

session_start();

zapis zmiennej sesyjnej:

$_SESSION['costam'] = $_GET['abc'];
$_SESSION['cos_innego'] = 'abc';

przyklad odczytu:

echo $_SESSION['cos_innego'];

jesli chodzi o bezpieczenstwo sesji... numerkow sesji jest tyle ze szanse ze 2 osobom wygeneruja sie 2 takie same numerki sa minimalne... a najlepiej zrobic sobie kontrole ip :)

--edit--
SIDem (Session ID) sie nie przejmuj - php sobie sam odpowiednio zapisze u uzytkownika ciastkiem albo postem albo getem

0

dzięki
a w jaki sposób odczytać ip?
i co zrobić z osobami z sieci lokalnych które mają wspólny ip?
może da sie odczytać coś co by sobie poradziło z nimi...

0

ip odczytujesz ze zmiennej

$_SERVER['REMOTE_ADDR']

z sieciami... noz coz cieka sprawa... aczkolwiek raczej szansa jest taka mala ze sie nie ma co tym mocno przejmowac... ja sobie odczytuje ip w taki sposob:

$ip = ($_SERVER['HTTP_X_FORWARDED_FOR'] != '') ? $_SERVER['REMOTE_ADDR'].'_'.$_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];

w ten sposob jest kontrola proxy wiec znowu mniejsze ryzyko ze 2 osoby beda mialy identyczne ip

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0