SOS! Уже затра№;%ля с сессиями помогите!

123 4
dkameleon
На сайте с 09.12.2005
Offline
386
#11

О! Ещё одна мысль :)

Топикстартеру:

Сессия в кукисы не упадёт, если перед session_start был хоть какой-то вывод на экран. Это необходимо учесть и так же проверить :)

Дизайн интерьера (http://balabukha.com/)
nickspring
На сайте с 29.03.2006
Offline
228
#12
СКОРПИОН:
Я обычно делаю так:
1. Положить в корень сайт файл .htaccess.
2. Добавить в него вот эти строчки:

php_flag session.use_trans_sid off
php_flag session.use_cookies on

Мало ли что в скриптах может быть. Так надёжнее.

не везде работает, к сожалению...

iexpert
На сайте с 01.09.2005
Offline
184
#13

А скажите, что за хостинг?

если вдруг Sweb, то сам занимался с этой проблемой сексом оч долго. не решил.

Точнее решил, но какие то документы он упорно продолжает отдавать с идентификатором... а какие то нет...

Ну а все, что советуют с .htaccess или ini_set

Должно быть разрешено хостером.

Иначе не сработает ничего.

По секрету вам скажу, функцию ini_set и ее аналоги блокируют почти все.

в основном это направлено не на борьбу с сессиями а на борьбу с set_time_limit :-)

Кстати...

Сомневаюсь что это что то даст, но на всякий пожарный случай, как говорится случаи бывают разные.

У меня на сервере есть отличия от ваших настроек.

заключаются в том, что у меня

session.entropy_file no value no value

session.entropy_length 0 0

session.save_path /pub/home/project_name/tmp /tmp/php-session

Первые две настройки скорее всего ни на что не повлияют, это способ формирования идентификатора, а вот последняя...

Первые две совпадают с конфигурацией моих и проблемного и беспроблемного серваков, а вот последняя - на моем проблемном как и у вас, а на беспроблемном по другому...

Чем черт не шутит....

Может ему каких нить прав не хватает...

p.s. юниксоид из меня никакой...

Бойтесь ваших желаний, ибо они могут исполниться
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#14
nickspring:
<?php
ini_set("session.use_trans_sid", 0);
ini_set("session.use_only_cookies", 1);
phpinfo();
?>

Данный скрипт выводит это

session

Session Support enabled

Registered save handlers files user

Directive Local Value Master Value

session.auto_start Off Off

session.bug_compat_42 Off Off

session.bug_compat_warn On On

session.cache_expire 180 180

session.cache_limiter nocache nocache

session.cookie_domain no value no value

session.cookie_lifetime 0 0

session.cookie_path / /

session.cookie_secure Off Off

session.entropy_file /dev/urandom /dev/urandom

session.entropy_length 16 16

session.gc_divisor 1000 1000

session.gc_maxlifetime 1440 1440

session.gc_probability 1 1

session.name PHPSESSID PHPSESSID

session.referer_check no value no value

session.save_handler files files

session.save_path /tmp /tmp

session.serialize_handler php php

session.use_cookies On On

session.use_only_cookies On Off

session.use_trans_sid Off Off

т.е. получается настройки применются

session.use_only_cookies On Off

http://webpromote.ru (http://webpromote.ru) - пописываю иногда ...
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#15
iexpert:
А скажите, что за хостинг?

msterhost

Я писал админам с просьбой разобраться, они ответили так:


Здравствуйте!

Идентификатор генерируется и подставляется во все ссылки непосредственно в
скриптах. Обращаю Ваше внимание, что данный идентификатор "искусственный"

if (strlen($PHPSESSID)==0){
$PHPSESSID = md5(time());

То есть, он не создается самим PHP интерпретатором и соответственно Вы не
сможете убрать его какими-либо директивами.

Рекомендуем Вам обратиться к разработчику данных скриптов.

Всего доброго.
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#16

Выбрал из движка ключевые файлы, убрал пароли и т.д. кому интересно скиньте в личку емэйлы пришлю архивчик.

ref
На сайте с 21.11.2004
Offline
91
ref
#17
if (strlen($PHPSESSID)==0){
$PHPSESSID = md5(time());

Mr_Promoter, Вы не пробовали это убрать, проверить объяснение хостера?

с уважением, Леонид
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#18
ref:
Mr_Promoter, Вы не пробовали это убрать, проверить объяснение хостера?

пробовал. Этот фрагмент вообще не как не сказался на сессиях.

ref
На сайте с 21.11.2004
Offline
91
ref
#19
Mr_Promoter:
пробовал. Этот фрагмент вообще не как не сказался на сессиях.

Ну, правильно... По идее, только значения идентификатора, могли измениться, но не способ показа/передачи.

ИМХО, что все ж хостера по новой нужно потерроризировать, т.к. из скрипта режим передачи/непередачи идентификатора в урле не устанавливается:

- В htaccess -нет?

- в скрипте ini_set("session.use...) переопределений - нет?)

Пусть подскажут как убрать...

Либо, как я в первом посте писал (если хостер допускает такой вариант), то - в htaccess устанавливаешь запуск своей версии php.ini и все настройки твои... У меня, например, так и сделано.

VC
На сайте с 03.04.2006
Offline
63
#20

А идентификатор всегда передается в урле или только на первой странице после старта сеанса?

Просто, это кажется обычное поведение стандартного механизма, т.к. с первого раза PHP не знает включены ли куки у клиента и отправляет sid и в куках и в урле.

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий