怎么实现每天每个 ip 有且只能投一票的功能

2015-05-09 17:29:33 +08:00
 caserest

我一朋友这么想 就是把每个投票的ip放到数据库中然后每天清理一下数据库实现每天只能投一票的功能。但是如何每天清理数据库呢?我觉得不靠谱,但是又想不到有什么其他好办法。

9805 次点击
所在节点    程序员
75 条回复
flowerwrong
2015-05-11 00:51:44 +08:00
@frankzeng nonono,淘宝一下,一堆商家
ryd994
2015-05-11 03:10:08 +08:00
@handleyan 不需要上锁,多一票少一票不怕的
jakehu
2015-05-11 07:11:16 +08:00
我以前做的是写入数据库,每次写入前都清楚一个小时之前的
FastMem
2015-05-11 09:25:20 +08:00
数据表
id,ip_address,date
1,123,123,123,123,time
然后每次投票检查日期呗。。
ryd994
2015-05-11 09:30:54 +08:00
@FastMem IP直接转换成32位整数,性能还更好
FastMem
2015-05-11 09:33:32 +08:00
@ryd994 soga。受教
donghouhe
2015-05-11 10:55:49 +08:00
看到说用cookie区分的,哎呀,太贴心了,代理都不用挂了!刷票代码写起来太方便了!
millken
2015-05-11 11:43:16 +08:00
sun019
2015-05-11 11:44:50 +08:00
只有注册用户才能投!!!其他的都是浮云,被投票搞翻过几次服务器的路过!
shepherd
2015-05-11 12:01:56 +08:00
搞个手机验证码?或者直接用手机投票
miao1007
2015-05-11 13:07:06 +08:00
用微信,妥妥的。
yanze0613
2015-05-11 13:13:40 +08:00
每天重建一张表,投票的时候记录ip丢进去,第二天换个表
数据库自动方便可以用作业或者shell
66beta
2015-05-11 13:23:52 +08:00
注册登录吧,不管是自己做,还是接入第三方
roychan
2015-05-22 21:11:45 +08:00
如果面对的客户大部分是小白的话,完全可以在 Session 里加一个 waterproof 给个值为1,每次收到请求判断 session 里有没有这个 key。然后 24 小时过期就行了,很节省资源。
Wichna
2016-06-30 17:15:15 +08:00
@millken 这个换一个浏览器就不一样了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189758

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX