Длина PHPSESSID и ее коррекция

chrysanemos

Новичок
Длина PHPSESSID и ее коррекция

Доброго времени суток.
Столкнулся с проблемой - в только что установленной связке PHP 5.4.0 и Apache 1.3.37_2 длина переменной PHPSESSID почему то равна 26 символам. То есть при записи ID сессии используется 26 символов вместо положенных 32. Это можно увидеть тут .

искал в документации по PHP и Apache - ничего подходящего в глаза не бросилось.
Сразу говорю что далеко не спец в этих вопросах.
Просьба помочь в направлении поиска причины.

Спасибо за внимание
 
session.hash_bits_per_character = 5
в прошлой инсталляции было вроде 4, но не уверен. изменений не вносил просто обновил порт php с 5.2.0 до 5.4.0

чему должен быть равен этот параметр? дело в том что я его увеличивал до 6 и ничего не менялось
 
яблин за 40 секунд в гугле нашел и прочитал.
дело в том что я его увеличивал до 6 и ничего не менялось
а в военное время значение синуса может достигать 4

-~{}~ 04.02.07 01:45:

дело в том что я его увеличивал до 6 и ничего не менялось
я и баллоны пинал, и дверь открывал - все равно не заводится.
 
ну по поводу машин не надо.... тут я получше разбираюсь. гораздо :)

ну не знаю ппринципов генерации Session ID ))))

Скриптам не пофигу так как на сервере устанавливается чат по просьбам пользователей. И одна из проверок подлинности Session ID там есть именно длина. Демон чата просто откидывает соединения с такой длиной сессии <> 32 с уведомлением hack detect. Это то что я понял имея скудные познания в PHP/

После установки параметра в 4 ничего не изменилос. я заметил что меняется длина строки Unique ID а Session ID неизменна.

Еще непонятно почему в браузере макстон я вижу инфу по сессиям на странице phpinfo а в осле - нет.
 
И одна из проверок подлинности Session ID там есть именно длина. Демон чата просто откидывает соединения с такой длиной сессии <> 32 с уведомлением hack detect.
не очень умно, я б сказал. и бесполезно.
я заметил что меняется длина строки Unique ID а Session ID неизменна.
вы там со своими ID сами разбирайтесь. у сессии есть только один идентификатор. и его длина = 128 / bits_per_character.
(если он генерируется самим php, а не вами, конечно.)
 
Автор оригинала: hermit_refined

или почитайте документацию, или забейте.
вот ту то и пролемка в какой документации искать? по пхп или по апачу?



яблин за 40 секунд в гугле нашел и прочитал.
я дико извиняюс но про это параметр я тоже в инете быстро нашел, но когда покрутил его и увидел что ничего не изменилоь решил обратиться сюда
 
после каждого изменения конфигов делаю даже не apachectl restart а стоп и старт.
Я вижу что знчения параметров меняются а вот длина этой переменной - нет :(.
я просто не понимаю почему с агрейдом пхп изменилась длина этой строки.
И еще вопрос. Если я правилно понял документацию то PHPSESSID является переменной окружения веб сервера то есть апача. а пхп просто подтягивает ее. Так может проблема в апаче? ест там какие то параметры которые могут на это повлиять? я в доках не нашел
 
ты неправильно понял документацию.
лучше выкини эту проверку из чата, если больше ничего не помогает.
 
выкинул проверку - заработало.
если не трудно оъясни в чем я ошибся с пониманием документации или ссылочкой угости.

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

Тебе нужен не параметр session.hash_bits_per_character, а
session.hash_function. Установи session.hash_function = 1 (sha1)
И будет тебе счастье...
 
спасибо но это я тоже пробовал. не помогало..
проблема пропала при полной переустановке апача и пхп.

извините за беспокойство
 
Сверху