Андрей Геннеберг писал(а):
Не самый лучший вариант:
- связь может оборваться, IP смениться и так далее - сеть не всегда надёжна при передаче информации;
- может упасть браузер, вырубиться питание и прочее - Москва обесточивается на раз из-ха рассыпающегося оборудования;
Эти два запроса идут один за другим с достаточно небольшим интервалом - доли секунды. Вероятность что все, описанное вами, произойдет именно между передачами, конечно, есть, но она достаточно мала. И она оправдана тем что повышается анонимность.
Вот тут еще почитайте -
http://wiki.cdemocracy.ru/index.php/БезопасностьАндрей Геннеберг писал(а):
пользователь может передумать голосовать (мало ли), в конце концов, его могут отвлечь, а потом он и забудет уже, а вспомнит только назавтра.Если он уже нажал на кнопку "Проголосовать" как он может передумать? А если не нажал - пусть передумывает сколько захочет.
Андрей Геннеберг писал(а):
Всё это приводит к тому, что может-таки возникнуть расхождение между количеством голосовавших и количеством голосов. Всё должно делаться именно в пределах одного запроса, в пределах одной транзакции. 2 запроса возможны только в том случае, если результат первого где-то хранится, а непосредственно транзакция занесения производится по второму запросу. Но обращение к БД должно быть одно, а вот кликов на вебморде можно делать сколько душе угодно.
Нет - этот способ самый очевидный и самый неправильный. Если мы беремся соблюдать тайность голосования, его и надо соблюдать. Если уж решать указанные проблемы, то не за счет анонимности. Лучшим решением этой проблемы будет отказ от тайных голосований. Но пока это нереально.