这篇文章主要介绍了简易的投票系统以及射流研究…刷票思路和方法,文章十分的详尽,思路也很清晰,是篇非常不错的文章,这里推荐给大家,有需要的小伙伴可以参考下。
早就听说有什么刷票脚本,微博投票等等相关的投票都有某些人去刷票。
试一下吧,兴许自己也会刷票呢?捣鼓了几个小时,终于有所眉目。
(1)投票系统
要刷票,就得先有个投票界面。
当然,可以直接去各个投票网站就行,不过这里还是自己弄个投票页面,方便自己。
页面大致如下或者查看演示
照理,界面很简洁,但也基本有了投票的基本功能。
原始规则是:只能投一次票,然后提示成功,然后按钮不可用。
都是原生JS,DOM操作不灵活的可以借此练练手。当然,用日本季刊日本季刊将会很便捷。
html/css部分
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www。w3。org/TR/XHTML 1/DTD/XHTML 1-过渡。 DTD
html xmlns= http://。w3。 org/1999/XHTML
meta http-equiv= Content-Type Content= text/html;charset=utf-8/
头
标题投票系统射流研究…脚本简单刷票/标题
style type=text/css
* {填充:0;边距:0;}
# wrap { margin:0 auto;宽度:600像素文本对齐:居中;}。人{职务:亲属;边距:20px浮动:左;}。人h4。人p。人物按钮{ margin-bottom:5px;}。人h4 {颜色:蓝色;}。人跨度{颜色:红色;}。人物按钮:悬停{光标:指针;字体粗细:粗体;}。clear { clear:both;}
/风格
/头
身体
div id=wrap
h3给你的小伙伴投上一票吧/h3
div class=人
h4one/h4
p总票数:span0/span票/p
按钮给它投票/按钮
/div
div class=人
h4two/h4
p总票数:span0/span票/p
按钮给它投票/按钮
/div
div class=人
h4three/h4
p总票数:span0/span票/p
按钮给它投票/按钮
/div
div class=人
h4four/h4
p总票数:span0/span票/p
按钮给它投票/按钮
/div
div class=clear/div
/div
射流研究…部分
脚本类型=文本/javascript
函数getElemensByClassName(类名){//通过班级获取
var class arr=new Array();
var标签=文档。getelementsbytagname( * );//获取所有节点
对于(标签中的变量项){
如果(标签[项目]。nodeType==1){
如果(标签[项目]。get属性( class )==类名){
班级安排。push(标签[项目]);//收集班级匹配的节点
}
}
}
返回classArr
}
函数delete_FF(element){ //在火狐浏览器中删除子节点为空的元素
var childs=element.childNodes
for(var I=0;ichilds.lengthi ){
var pattern=/ s/;//模式匹配,内容为空
if(childs[i].nodeName== # text 模式。测试(childs[I].nodeValue)){ //处理
//alert(childs[i].nodeName);
元素。移除子对象(childs[I]);//删除消防中获取的空节点
}
}
}
window.onload=function(){
var persons=getElemensByClassName( person );
//alert(人);
for(var item in persons){ //遍历所有人,为它们绑定投票事件
(函数(_item){ //匿名函数传入项目,防止因作用域问题导致项目总为最后一个
delete _ FF(persons[_ item]);//出去消防中空行代表的子节点
人员[_item].setAttribute(id , person (parse int(_ item)1));//赋上身份证明(识别)
var childs=persons[_item].子节点;
for(var I=0;ichilds.lengthi ){
//alert(childs[i].nodeName);
if(childs[i].nodeName==BUTTON){ //点击按钮投票
var oButton=childs[I];
}
if(childs[i].nodeName==P){ //投票结果更新
var oP=childs[I];
var oSpan=op . getelementsbytagname( span )[0];
}
}
如果(按钮!=null){
oButton.onclick=function(){ //事件绑定
var数字=oSpan.innerHTML//获取票数
奥斯潘。innerhtml=(num);//票数更新
})( http://code . jquery . com/jquery-2 . 1 . 3 . js );
brush votes();//刷票
$( # person 3 span )。bind (domnode inserted ,function(e){//将触发三个更改。
brush votes();//继续刷票
});
Brush votes(){//刷票函数
var t=setInterval(function(){
var three _ num=$( # person 3 span )。text();//三票
var two _ num=$( # person 2 span )。text();//两票
console . info(two _ num three _ num);
If(two_num-three_num 5){ //保持领先5票
$(#person2button )。单击()。attr(disabled ,false);//点击触发投票的事件,投票后记得拿回投票权。
}
如果(two_num-three_num==5){ //领先5票,到此为止
间隙(t);
}
},2000);
}
最后模拟一下。
1.进入投票页面,调用Firebug,在控制台右侧的代码输入区输入完整的代码。
2.然后点击左上角的运行,让两个从0刷到5。领先三票五票。
保持警惕,直到5次。
3.然后,模拟中有人投了三,点了三的按钮。
4.检测到三个票数发生变化,两个继续刷票。
5.最后6票通过,再次暂停。
-
这是一个简单的刷票脚本实现。
通过这个,最重要的是学会如何用自己的脚本去操作别人的页面。当然,这和所谓的脚本注入是不一样的。
我们所做的只是模拟普通的页面事件,并手动触发它们。
通过该机制,不仅可以刷投票系统,还可以通过暴力验证登录.但是遇到验证码就亏大了,还可以用所谓的火车票抢票脚本.但那应该涉及更多的知识。