昨天想起有贴未结,于是打算去结一下。毕竟有人热心帮忙,你不结工钱说不过去。
结着结着,突然想起了最近干活时碰到的BUG,因为很苦恼为何我总和这样的代码打交道,所以决定试一试CSDN会不会也出现类似的错误。
然后,就真发现了:
http://bbs.csdn.net/topics/391043871 (帖子100分,16楼得分200)
于是后面继续尝试2次:
http://bbs.csdn.net/topics/391817085
http://bbs.csdn.net/topics/391817150
这俩帖在编辑这贴的时候,获得1000分的楼层已经被管理员删除了。我很纳闷为何仅仅是删除了帖子(第一贴200分的还在),也不问问这BUG是啥?然后我又找了找,没发现那里可以提交bug。
--------------------------------------------------------------
以上是事情经过。由于NANA等同学好奇是怎么做到的,我就简单说一下。
原因结分功能的客户端和服务器端的验证不一样,服务器端的验证有问题。
客户端验证会计算帖子总分、每层楼获得的分数是否合法、所有楼层总分是否和帖子分数相等。服务器端的验证基本和这个相同,但是(人生总是充满了但是,大喜大悲狗血扯淡都从这里开始,作为一个八卦er每每看到这2字总充满了期待)服务器端没有限制每层楼获得的分数一定要是正数。只要所有楼层获得的分数相加等于帖子分数就行了,所以40分的帖子,有人得到-960分,另一个人就能得到1000分。负分没限制,结贴后只作为0,没真的扣分。
所以要怎么做呢?禁用Javascript就可以了。
说完了。