我打算用JavaEE创建一个小型网站,用户可以投票,但每5分钟一次。有两个按钮。一个投赞成票,另一个投票否决票。我希望按钮每5分钟只能点击一次。这是最好的方法吗?
我想到了获取用户IP并将其与时间戳一起输入我的数据库。每次用户投票时,我都会从数据库中获取IP,并检查自上次投票后是否已经过了5分钟。您如何看待这个解决方案?这是最佳做法吗?
我正在尝试避免登录或任何其他类型的身份验证。 我计划使用JSF,Java,mySQL和AJAX。
答案 0 :(得分:0)
一种可能的解决方案可能是一个cookie,其中包含客户端的最后投票日期加上,在服务器端的数据库中保存用户IP和投票日期。
如果客户端没有cookie,并且数据库中包含用户IP地址的条目为零,或者此enty中存储的日期低于您的投票恢复时间,则用户可以投票。
请记住,点击按钮的人越多,服务器必须处理的请求就越多。
没有风险为零,但你可以接近它。