2013-07-28 6 views
-2

Кажется, что слух снаружи говорит, что ключ сеанса php не настолько безопасен.Как вульгарно является сеанс php

В some forum говорится, что ключи php только 32 бита, поэтому их легко заставить грубить принудительно. В то время как я видел где-то еще (забытое место), которые говорят, что php использует IP, время создано, много вещей для создания 160-битных сессионных ключей.

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

Как вульгарно для принудительного вытеснения и т. Д.?

+1

«Я заметил, что ключ сеанса всего 32 бита» - это неверно. Вы можете прервать свое чтение после этих слов. – zerkms

+2

PS: что, если вы читаете не только первый комментарий, но и второй и третий? – zerkms

+0

Существуют [атаки] (https://media.blackhat.com/bh-us-12/Briefings/Argyros/BH_US_12_Argyros_PRNG_WP.pdf) против версий ниже 5.3, которые основаны на недостатках в генераторе случайных чисел. – Blender

ответ

2

Идентификатор сеанса PHP создается с использованием хеша MD5 со случайным вводом. MD5 - результат по 16 байт (или 32 символа шестнадцатеричных чисел) или 128 бит. Не 32 бит.

Если вам не нравится, безопасность по умолчанию автоматически сгенерирован идентификаторы сессии, вы можете:

  1. настроить session.hash_function использовать SHA-1 вместо этого, давая вам 160 бит.
  2. создайте идентификатор сеанса самостоятельно из криптографически случайных источников и установите идентификатор сеанса с вызовом session_id("your-random-value"). Обратите внимание, что не каждый символ разрешен для любого обработчика сохранения сеанса, вы можете быть ограничены.

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

+0

Это не полностью случайный ввод: https://github.com/php/php-src/blob/master/ext/session /session.c#L308 – Blender

Смежные вопросы