Dim писал(а):
Андрей писал(а):
Просто заменить vote_id не получится. Придется еще менять и вариант выбора, т.к. идентификаторы вариантов во всех голосованиях отдельные. По большому счету, при передаче информации о выборе нет необходимости передавать vote_id.
Прошу прощения. Я вместо vote_choise написал vote_id. Т.е. меняется не идентификатор голосования, его замену естественно сервер отловит, а числовой идентификатор выбора. Сервер не знает какой именно вариант выбора подписан. Значит не может и проверить это значение пакета.
Стоп! При тайном голосовании само голосование заключается в том что пользователь отправляет на сервер свой одноразовый идентификатор с вариантом ответа. Я не понимаю в чем именно проблема если он отправить один из любых вариантов ответа по данному голосованию. Или вы имеете ввиду что он отправит вариант из другого голосования или не существующий? Вообще, это можно легко проверить на сервере. То, что это не проверяется сейчас не означает что такую проверку нельзя поставить. Это банальная "защита от дурака" которая ничего не даст и не отнимет в смысле защищенности системы.
Или вы имеете ввиду что пользователь подменит вариант ответа при открытом голосовании? Но я не вижу чем это может навредить системе? В случае если такое обнаруживается, данный голос в голосовании не засчитывается и производится расследование на предмет того, откуда взялся такой результат.
Для подстраховки, можно в подпись пользователя вводить специальный блок с машинно читаемой записью, по которой проверять все это в автоматическом режиме.