2015-09-30 4 views
0

Я планирую создать небольшой сайт с JavaEE, где пользователь может голосовать, но только каждые 5 минут. Есть две кнопки. Один, чтобы проголосовать «да», а другой - «нет». Я хочу, чтобы кнопки были доступны только каждые 5 минут. Каков наилучший способ сделать это?Ограничение использования на 5 минут

Я думал о том, чтобы получить IP-адреса пользователей и ввести его в мою БД вместе с меткой времени. Каждый раз, когда пользователь проголосует, я получаю свой IP-адрес от БД и проверяю, прошло ли 5 ​​минут с момента их последнего голосования. Что вы думаете об этом решении? Это лучшая практика?

Я стараюсь избегать входа в систему или любой другой вид аутентификации. Я планирую использовать JSF, Java, mySQL и AJAX.

+0

Что вы пытались достичь этого? Любая идея, подумал? Какую технологию вы собираетесь использовать? –

+3

Как насчет 50 000 человек, подключающихся через прокси-сервер (все на одном IP-адресе на вашем сайте)? Вы действительно можете делать такие вещи только в контексте логина. Вы можете аутентифицироваться с помощью Google или Facebook, как это делает сайт. – Bathsheba

+0

Хранение файлов cookie может быть одним из вариантов. – CubeJockey

ответ

0

Одним из возможных решений может быть файл cookie, содержащий последнюю дату голосования на стороне клиента плюс, сохраняющий IP пользователя и дату голосования в виде данных на стороне сервера.

Если на клиентской стороне нет файлов cookie, и если в вашей базе данных есть нулевой элемент, содержащий IP-адрес пользователя, или если дата, хранящаяся в этой учетной записи, уступает вашему времени восстановления голоса, пользователь может проголосовать.

Имейте в виду, что чем больше людей нажмут на ваши кнопки, тем больше будет требоваться ваш сервер.

Нет никакого риска, но вы можете приблизиться к нему.

+0

Клиенты/конечные пользователи могут редактировать файлы cookie. – BalusC

+0

ofc, вот почему вы используете файлы cookie + ip-адрес магазина в базе. –

+0

Я думаю, что лучший способ сделать это - создать простой вход в систему. Я не вижу другого способа, который бы защищал бы 99,9%. – Aruloci

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