大家对无登陆投票防刷的设计有什么想法?

2015-01-14 15:36:07 +08:00
 imlewc

---_-

5488 次点击
所在节点    程序员
27 条回复
mengzhuo
2015-01-15 08:27:01 +08:00
@takatost 简单的说 就是不行
imlewc
2015-01-15 10:21:57 +08:00
@loading
@ETiV

可以看下这个能不能投递
http://www.mofang.com/zt/2014px/
NeoAtlantis
2015-01-15 11:06:02 +08:00
用hashcash不错,简单说就是要求一个特定的字符串,其散列后前n比特都是0.

这个字符串有特定要求的,比如既然是投票,字符串里面的资源名就要写你的ip、投票的内容和你的选项。还有生成日期,可以精确到分钟或者秒,以免过期的被重用。然后字符串结尾允许一些别的东西,用来产生满足要求的结果。

比如这样一个例子:

1:20:150115:vote-to-person1;219.150.32.132;v2ex.com::laZM06NobysDWlGk:0000000000000000000000AY/C
(自己试下散列上面这个字符串看HEX结果)

比如n=20的时候,根据生日问题能估计需要平均2^10次计算才能找到一个这样的字符串。这就保证能产生这个字符串的平均进行了~1000次的SHA1计算。提高n可以大大减缓刷票的可能。

缺点是,越好的机器越容易刷,越烂的机器或者浏览器越难。而且js的SHA效率也不高。
exceloo
2015-01-15 11:07:03 +08:00
只有@ETiV 这种方法是有效的。关键在于“统计结果的时候再处理刷票的;”
如果一查到有人刷票就处理,你根本玩不过黑产。淘宝上1w个ip才2块钱...
验证码人工打码也便宜的很;
连手机验证码都有api,1毛接收1个。
intosec
2015-01-15 13:27:18 +08:00
那要是对面就是召集了一万多个人力,人肉投票,这种怎么破?
br00k
2015-01-15 17:51:15 +08:00
说到底只是增加刷票的成本而已。
imlewc
2015-01-15 17:52:21 +08:00
@br00k 与人斗其乐无穷的赶脚

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

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

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

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

© 2021 V2EX