Сообщение от Gvozd
|
но при этом есть проблема при посылке двух одновременных запросов с одинаковым случайным числом,
|
Это очень редкий случай.
Сообщение от Gvozd
|
у вас есть решение обхода проблемы одновременных запросов, и чтобы было безопасно
|
Эту проблему можно решить так:
1. При смене рандомного числа, запоминаем прошлое, а так же время запроса.
2. Если приходит запрос с прошлым числом и время больше, например, минуты, прошедшее со времени последнего обновления - сбрасывать доступ. Если меньше минуты - разрешать доступ и так же обновлять число, но не переписывать старое. Т.е. у нас остальные вызовы будут обработаны.
3. Если пришло новое число - пункт 1.
Думаю, что минуты вполне достаточно для попытки достучаться до сервера. Если же пользователь больше минуты не обновлял страницу и сессия жива - будет использоваться последнее число, полученное при прошлом обращении. Хочу подчеркнуть, что это очень редкий случай.
Думается мне, что безопасность тут не пострадает.
Сообщение от Gvozd
|
у меня устойчивое чувство, что мы тут занимаемся изобретательством велосипеда
|
Возможно, но почему бы и не развить эту тему?