以前寫(xiě)過(guò)一個(gè)利用ADSL撥號(hào)變ip刷流量的vbs,只要把刷新的頁(yè)面稍微改一下(添加個(gè)自動(dòng)提交的js)就是了,可是怎么找都找不到了,沒(méi)法重新寫(xiě)。
還有種辦法就是vbs直接提交,可是寫(xiě)了半天,怎么也沒(méi)運(yùn)行起,以后改好了在貼出來(lái)。
寫(xiě)的時(shí)候遇到了點(diǎn)問(wèn)題,就是利用網(wǎng)頁(yè)的js提交的時(shí)候,會(huì)跳轉(zhuǎn)跳顯示投票成果的頁(yè)面,會(huì)彈出個(gè)投票成功的對(duì)話框,這會(huì)影響下面的打開(kāi)網(wǎng)頁(yè)。又沒(méi)法屏蔽,所以采用了個(gè)折衷辦法,每次結(jié)束瀏覽器進(jìn)程,在刷后面的頁(yè)面。
復(fù)制代碼 代碼如下:
Const ForAppending = 8
Const ForReading = 1
Const FileName = "iplog.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(FileName, ForAppending, True)
objTextFile.WriteLine "------------------利用ADSL撥號(hào)變ip刷投票-----------------"
objTextFile.WriteLine " " Now
objTextFile.Close
For i=1 To 300 '刷多少票
Do
'----------------------------撥號(hào)---------------------------------
Set pp = WScript.CreateObject("WScript.Shell")
pp.run "rasdial 外網(wǎng) /DISCONNECT",0
wscript.sleep 2000
pp.run "rasdial 外網(wǎng) LAN245561315 11811",0
Set pp = Nothing
wscript.sleep 2000
'----------------------------讀取IP-------------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If IPConfig.IPAddress(0)>"169.254.1.232" Then 'adsl的本地連接
IPAddress = IPConfig.IPAddress(0)
End If
Next
'----------------------------判斷IP是否重復(fù)-----------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(FileName, ForReading)
Do Until objTextFile.AtEndOfStream
strIP = objTextFile.Readline
arrIPList = Split(strIP , ",")
If arrIPList(0) = IPAddress Then
IsSame = True
Exit Do
Else
IsSame = False
End If
Loop
objTextFile.Close
Loop while IsSame = True
'----------------------------保存IP記錄---------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(FileName, ForAppending, True)
objTextFile.WriteLine IPAddress "," Now
objTextFile.Close
'----------------------------打開(kāi)瀏覽器開(kāi)始刷---------------------
Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=1 '1瀏覽器可見(jiàn)0不可見(jiàn)
ie.navigate "http://www.169ol.com/
" '解決網(wǎng)通重定向問(wèn)題(網(wǎng)通這好煩哦)
wscript.sleep 3000
'提交的修改過(guò)的表單,本地也行,需要把ie安全設(shè)置低點(diǎn),不然每次都會(huì)提示的。
ie.navigate "http://www.link888.net/testspeed.html"
wscript.sleep 10000
'----------------------------結(jié)束瀏覽器進(jìn)程------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" "{impers}!\\" strComputer "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'IEXPLORE.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Next
testspeed.html
復(fù)制代碼 代碼如下:
form action="http://www.xxx.cn/vote/kuangquanshui/addvote.asp" method="post" name="form1" id="form1">
input name="vote" type="checkbox" id="vote" value="35" checked="checked" />
input type="Submit" name="Submit2" value="投票">
/form>
script language="JavaScript" >
setTimeout("document.form1.submit()",3000) //3秒后提交
/script>
這個(gè)是利用刷網(wǎng)頁(yè)(里面含有自動(dòng)提交的js)來(lái)提交的,還有更好的辦法就是直接利用vbs腳本提交表單。
不過(guò)這樣都會(huì)有局限性,我測(cè)試的投票系統(tǒng)沒(méi)有限制提交地址,只是限制ip,所以可以本地提交。有些服務(wù)器限制了的,就不可以利用直接提交表單了。
可以用一個(gè)frame把原來(lái)的網(wǎng)頁(yè)包括過(guò)來(lái),然后利用js腳本提交frame里的表單,來(lái)突破。
如果他禁用了frame引用,就沒(méi)發(fā)了,就得通過(guò)軟件來(lái)實(shí)現(xiàn)了。
防止刷票:
1.限制ip
2.驗(yàn)證碼(稍微復(fù)雜點(diǎn)的,不要太簡(jiǎn)單了)
3.對(duì)提交表單的來(lái)源做限制。
4.禁止外部frame引用
您可能感興趣的文章:- PHP+MySQL投票系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)分享
- 簡(jiǎn)易的投票系統(tǒng)以及js刷票思路和方法
- 基于jQuery的投票系統(tǒng)顯示結(jié)果插件
- 基于jquery的多彩百分比 動(dòng)態(tài)進(jìn)度條 投票效果顯示效果實(shí)現(xiàn)代碼
- 一個(gè)簡(jiǎn)單的PHP投票程序源碼
- 使用js寫(xiě)的一個(gè)簡(jiǎn)易的投票
- 用ajax實(shí)現(xiàn)的自動(dòng)投票的代碼
- PHP投票系統(tǒng)防刷票判斷流程分析
- python刷投票的腳本實(shí)現(xiàn)代碼
- Android ListView構(gòu)建支持單選和多選的投票項(xiàng)目