原标题《论如何在ata获得一本书,我不是来要咖啡券的,也不是来讨赞的》
下午收到旺旺推送:
阿里巴巴技术协会:ATA热点推荐2014-06-20 15:56:41
晓白你好!周末送福利啦!鬼道的新书《跨终端 Web》开始预售,这里提供了书的样章和序,欢迎鉴赏。跟帖楼层号在斐波纳挈数列中的能获得书一本,抢楼进行中..... 查看详情
但是等看到的时候…已经5点了… 点开评论楼层,一看,我去…都500多了…
不过记忆中斐波那契数列越往后数值越大越有机会。
(function () {
var ret = [];
for (var n = 1, x = 20; n < x; n++) {
var val = [];
for (var i = 0; i <= n; ++i) {
val[i] = 0;
}
if (n == 1 || n == 2) {
ret.push(1);
}
else {
val[1] = 1;
val[2] = 2;
for (var i = 3; i <= n; ++i) {
val[i] = val[i - 1] + val[i - 2];
}
ret.push(val[n - 1]);
}
}
return ret;
})();
运行输出:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]
所以,简单写个脚本,提交到610,就能拿到下一本书了。
手动发了几个回复,观察comment的接口接受的参数,发现没有csrf token,可以暴力刷新了。
现在前端都是使用揭示模块写法来写脚本,所以不要想直接调用js call来刷贴了,不过如果抽离出提交函数,那么一样可以进行提交。
因为项目改版移动端适配需求和老板的关爱,换了mac,失去了最顺手的fiddle(虚拟机里跑略沉重啊),否则直接reply到610就好了。
那么看一下脚本吧,打开源码,格式化了一下,居然不是KISSY代码,用JQ写的…
断提交
的DOM EVENT=>CLICK,发现有自己的事件适配器,(作弊这种事情,找调用超过2层真的不如自己写了),感觉很麻烦,自己写一个提交好了。
//如果你在ATA查看评论楼层,会在渲染模板的时候,添加好多comment模块,
//和我们刷帖有关系的是最后一个form
var target = $('.js-comment-create:last');
//机器代替手工填写一个`赞`好了
target.find('#comment').val('赞');
//自动提交
target.submit();
直接扔console,诶,是不是提交成功了。
接下来是刷楼,最简单的刷是什么呢?
for(;;){
console.log('嘻唰唰')
}
好吧,我是逗比,这个肯定不行,do loop也是,浏览器会卡死的…或者报告有死循环神马的…
我们用安全循环好了。
setTimeout(function () {
console.log('嘻唰唰')
setTimeout(arguments.callee, interval);
}, interval);
随便给定一个interval,比如100(我是不是太仁慈了),循环就能嗨起来了.
那么我们组合一下,其实这里可以缓存targat的,不过,不要在意这些细节了(如果实在看不爽效率,那么换全部原生好了…)。
setTimeout(function () {
var target = $('.js-comment-create:last');
target.find('#comment').val('赞');
target.submit();
setTimeout(arguments.callee, 100);
}, 100);
最后特别提醒一下,不准用这个代码刷我!
感谢要送书的 @鬼道 大神。。