2013-05-15 4 views
1

В моем веб-приложении пользователь может оценивать продукт через страницу продукта. Он также может открыть несколько вкладок в своем браузере.Работа с несколькими вкладками в веб-приложении

Какова наилучшая практика, позволяющая ему оценивать различные товары на каждой вкладке?

  • Моя первая мысль заключалась в том, чтобы положить идентификатор продукта в сеанс: плохая идея, так как все вкладки имеют один и тот же сеанс, и нет способа узнать, какая вкладка активна (возможно, это возможно?).
  • Моей второй мыслью было поставить на страницу скрытое поле, содержащее идентификатор продукта. Это решение, которое я сохранил на данный момент. Но вредоносный пользователь может изменить идентификатор с помощью firebug или другого инструмента.

Так что мне было интересно, есть ли лучший способ?

ответ

0

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

Проще говоря, принудительное исполнение должно выполняться на стороне сервера. Если пользователь обнаружил, что уже оценил идентификатор, другие запросы на скорость должны возвращать сообщение об ошибке (возможно, некоторый статус http в диапазоне 400).

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

Без него невинный пользователь может просто нажать «Отправить дважды» случайно, и вы столкнетесь с той же проблемой. Тот факт, что есть несколько вкладок, не имеет к этому никакого отношения.

+0

Спасибо, вы поняли правильно. Наконец, я добавил серверный элемент управления с ограничением базы данных, чтобы это не произошло. –

0

Если вы не хотите пользователю калечить идентификатор продукта с поджигатель, вы можете использовать megasecret хэш для идентификатора продукта, который пользователь не может подделать

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