今天线上有人刷投票记录,本来限制每人每天投3票,结果却发现有人投了N票。
在判断的时候是用的
select count(*) as sum from tablename where user_name="XXX" and date_modified>"XX" and date_modified<"XX"
的方式得到登录用户当天投票的次数的。可是很奇怪今天莫名其妙的出来了一些类似
872308F4CFC282A1636B04B8DC9EDA
这样用户名的用户。可是根本就不可能有这样的用户。这是一种什么编码吗?如果是这样的用户名,查询出来的结果始终都是num为0,所以可以无限刷票。求解。

解决方案 »

  1.   

    表中是否有
    872308F4CFC282A1636B04B8DC9EDA
    内容的记录? 
      

  2.   

    872308F4CFC282A1636B04B8DC9EDA
    这是sessionid把
      

  3.   

    你投票的API(也就是接受表单的地方)是否验证登录??人家是不是直接http://www.xxx.com/xxx?abc=1&user=
    872308F4CFC282A1636B04B8DC9EDA
    就可以导致数据库更新?btw,例子 date_modified>"XX" and date_modified<"XX" 里面的两个XX是同一个嘛?为何不直接等于啊?