2012-05-31 4 views
0

Что не позволяет кому-либо войти на веб-сайт Z. Переход в файл cookie, содержащий Session_Id для веб-сайта Z, и возиться с ним, чтобы стать кем-то другим, идентифицированным сервером?Как защищаются идентификаторы сеансов на стороне клиента?

+0

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

+0

Если кто-то может войти на ваш сервер, у вас больше проблем, чем защита сеанса. –

ответ

1

Ничего, кроме длины и базы идентификаторов сессии. Если это довольно долго, потребуется триллионы (или более) попыток до обнаружения столкновения. Более длинные идентификаторы умножают количество возможных идентификаторов на базу хеша, поэтому, если ваш хэш имеет номера и строчные буквы, каждый дополнительный символ умножает возможности на 36.

20-символьный хеш предоставит вам 36^20 различных возможностей , Если вы удвоите длину идентификатора, вы получите 36^40 различных возможностей. Сделать его намного труднее для любого, чтобы грубая сила в другую учетную запись.

+0

Какой хэш используют сеансы PHP при хранении идентификатора? Что такое алгоритм ... Я не хак .. Я просто хочу использовать тот же алгоритм для ручного создания собственных session_ids? –

+0

@HiroProtagonist По умолчанию он использует md5, но это настраивается в php.ini, и есть лучшие хэши, которые вы можете использовать. – Paulpro

+0

Better Hashes - Можете ли вы ответить здесь: http://stackoverflow.com/questions/10905930/what-hash -У-PHP-сессии потребительные при хранящем-ан-идентификатор –

1

Если мы говорим о сеансе php, ответ «никто не защищает их»!

Вы должны сделать что-то, чтобы попытаться сделать его «более безопасным».

  • Использование SSL для аутентификации
  • Make идентификатор сеанса истекает через время
  • Проверить IP и USER AGENT (хорошо, что можно обойти)

и так далее ...

2

Что не позволяет кому-либо войти в веб-сайт Z. Переход в файл cookie, содержащий Session_Id для веб-сайта Z, и возиться с ним, чтобы стать кем-то еще как id завещанным сервером?

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

0

В некоторых случаях (структура CodeIgniter) вы можете зашифровать свои файлы cookie, что значительно затрудняет эту атаку.

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

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