Hi Stas,

On Wed, Jan 27, 2016 at 10:22 AM, Stanislav Malyshev
<smalys...@gmail.com> wrote:
>
>> Oops, sorry. Too many lines to reply, I misread 
>> session_id()/session_create_id()
>>
>> session_id() sets session ID. Invalid char that cannot be accepted should be
>> rejected. Otherwise, user will have lost sessions without errors.
>
> As far as I know, handlers already reject characters that are not OK
> with them. So what is missing there?

Session module/save handlers removes invalid chars silently.
This changes user defined session ID, thus session is lost without
apparent errors.

>
>> SessionHandler::create_sid() is for creating user own ID. Generating ID with
>> certain prefix.
>
> Not sure what you mean. The code here:
> https://github.com/php/php-src/blob/master/ext/session/mod_user_class.c#L175
> is clearly generating an ID. Is this not secure enough?

If php_session_create_id() which is session module function, it's
secure. Users may create whatever session IDs, though.

>
>> Currently, there is no simple way to generate session ID with the form
>> of session module generates. i.e. hash_bits_per_characters=5/6. There
>> should be an API for it.
>
> Wait, so which ID the  SessionHandler::create_sid() generates? Isn't
> that the same function? Which function you plan to use instead?

I mean there is no way to call php_session_create_id() without user
defined save handler.

Main use case of session_create_id() and session_id() would be
prefixed session like

session_id(session_create_id('MY-PREFIX-'));

Regards,

--
Yasuo Ohgaki
yohg...@ohgaki.net

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to