Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabić sesje...
Forum PHP.pl > Forum > PHP
LeWaR
Oto kawałek kodu:
[php:1:804b3d8bee]<?php
session_start();
if ($PHPSESSID=='fcb5ad7af8d9eb95bd0a9d466371eb28')
{
$PHPSESSID='';
session_id('');
session_destroy();
session_start();
}

?>[/php:1:804b3d8bee]
O co chodzi? Mianowicie jeśli pojawi się taki indentyfikator sesji to ma być zlikwidowany i ustawiony na nowo.
Niestety nie działa. Wpisując w adres ?PHPSESSID=fcb5ad7af8d9eb95bd0a9d466371eb28 indentyfikator jest nadawany.......
Czekam na pomysły...

Pozdrawiam
FiDO
[php:1:8750de8830]<?php
session_start();
if ($_GET[session_name()]=='fcb5ad7af8d9eb95bd0a9d466371eb28')
{
//$PHPSESSID='';
//session_id('');
// po co to? ^^
session_destroy();
session_start();
}

?>[/php:1:8750de8830]

Mozna wiedziec po co Ci "restartowanie" sesji w tym jednym przypadku?
LeWaR
jedna z wyszukiwarek zanotowała sobie link z tym id, a niestety baaardzo niewskazane jest, aby dwóch klientów na stronie w parade sobie wchodziło....
ew. zmienie session.name i po sprawie...
ale do tego to przed chwilą doszedłem...
pozdrawiam
LeWaR
Przed chwilą znalazłem:

[php:1:debec4ef5f]<?php
session_start();

print session_id();

session_regenerate_id();

// This is now different
print session_id();

print_r($_SESSION);
?>[/php:1:debec4ef5f]

Może się komuś przyda. php 4.3.3+
LeWaR
Oto rozwiązanie:
[php:1:14035c5358]<?php
if ($_GET[session_id()]=='fcb5ad7af8d9eb95bd0a9d466371eb28')
{
session_destroy();
session_start();
}
?>[/php:1:14035c5358]
FiDO
Nie wydaje mi sie, aby to dzialalo...
Po pierwsze session_id() zwraca ID sesji, a w $_GET jest tylko zmienna o indeksie session_name()
Po drugie nie masz na poczatku session_start(), wiec session_id() zwroci pusty string.
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.