|
|
|
| прочитал тут http://phpfaq.ru/session
Для начала надо как-то идентифицировать браузер. Для этого надо выдать ему уникальный идентификатор и попросить передавать его с каждым запросом.
ПОЯВИЛСЯ ВОПРОС
например 2 идентичных мобильных телефона - у которых браузеры ===
и IP одинаковый как например у абонентов ТЕЛЕ2 у всех один и тот же IP
ЧТо же получается - заходить один с Nokia 6230 например ТЕЛЕ2 и все кто заходит с того же телефона и оператора - попадают на первую открывшуюся сессию?
Где гарантия того что сессии уникальны7 | |
|
|
|
|
|
|
|
для: Nevi
(10.01.2008 в 19:02)
| | читай внимательней... особое внимание удели SID - узнай что это такое | |
|
|
|
|
|
|
|
для: Nevi
(10.01.2008 в 19:02)
| | Идентификатор генерируется не исходя из модели телефона или браузера. Это уникальный хэш-код. хэш-коды, в пределах одного сайта уникальны. Попробуй войди в свою почту через веб-интерфейс в одном браузере, затем - в другом. Во втором опять придется проходить через процедуру логина. После этого, у тебя будет два барузера, оба залогинены и оба - с разными идентификаторами сессии. | |
|
|
|
|
|
|
|
для: SHAman
(10.01.2008 в 19:22)
| | а еще вопрос из области фантастики СЕССИЙ
есть два одинаковых скрипта
usr/site/site1/ses.php 644 user user
usr/site/site2/ses.php 644 user user
в которых сессия стартуется так
session_save_path("/usr/site/site1/tmp/sessions/");
session_name('ssid');
session_start();
и так
session_save_path("/usr/site/site2/tmp/sessions/");
session_name('ssid');
session_start();
Сессии нормально создаются и с ними можно работать в обоих случаях
однако
в /usr/site/site1/tmp/sessions/ 777 user user - сессии сами стираются по прошестивии 24 минут
а во втором
/usr/site/site2/tmp/sessions/ 777 user user - сессии не стираются - я вижу даже сессии за вчерашний день
сами сессии в обоих случаях пишутся с правами
600 www user
самое фантастическое - что я узнал что сесии не должны стираться НИ в ПЕРВОМ ни во ВТОРОМ Случае!!!!!
из документации php
; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440
; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm
кто сможет объяснить ЧУДО? =) (я уже сутки сижу перечитал все поисковики - ответа нет!)
PS в кроне нет никаких записей! | |
|
|
|
|
|
|
|
для: Nevi
(10.01.2008 в 19:53)
| | а ты запускаешь эти скрипты?
сессия не крон.. и стирать будет только по запуску сценария...
кроме session.gc_maxlifetime, есть еще один параметр... он указывает на процент запуска "сборщика мусора" по умолчанию 1...
т.е. 1 раз из 100, он стирет данные, если время пришло... =) | |
|
|
|
|
|
|
|
для: а-я
(10.01.2008 в 21:11)
| | похоже вы правы
; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.
session.gc_probability = 1
session.gc_divisor = 100
а я думал фантастика
подождем когда будет 101 сессия пока всего 20 сессий =) | |
|
|
|