vbsで実現したADSLダイヤルアップでipブラシ投票コード
以前にADSLダイヤルでipブラシの流れを変えたvbsを書いたことがありますが、更新したページを少し変えて(自動提出のjsを追加して)もいいです。しかし、いくら探しても見つけられません。書き直すことができません。また、vbs直接提出する方法もありますが、長い間書いていましたので、どうしても実行できませんでした。後で直したら貼り付けています。書いている時に問題がありました。ホームページのjsを利用して提出すると、投票結果が表示されるページにジャンプして投票成功のダイアログが表示されます。これは下のページの開きに影響します。また遮ることができなくて、だから1つの折衷の方法を採用して、毎回ブラウザーの過程を終わって、後のページをこすります。
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 ip -----------------"
objTextFile.WriteLine " " & Now
objTextFile.Close
For i=1 To 300 '
Do
'---------------------------- ---------------------------------
Set pp = WScript.CreateObject("WScript.Shell")
pp.run "rasdial /DISCONNECT",0
wscript.sleep 2000
pp.run "rasdial 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 -----------------------
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
'---------------------------- ---------------------
Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=1 '1 0
ie.navigate "http://www.169ol.com/
" ' ( )
wscript.sleep 3000
' , , ie , 。
ie.navigate "http://www.link888.net/testspeed.html"
wscript.sleep 10000
'---------------------------- ------------------------
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.
<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>
これはウェブページ(自動提出のjsを含む)を利用して提出されたものです。また、より良い方法はvbsスクリプトを直接利用してフォームを提出することです。でも、このように制限があります。私のテストの投票システムは提出住所を制限していません。一部のサーバーが制限されているので、直接にフォームを提出することはできません。一つのframeで元のページを含めて、jsスクリプトを使ってframe内のフォームを提出して突破してもいいです。彼がframe引用を無効にしたら、送信しませんでした。ソフトウェアで実現しなければなりません。カード決済防止:1.ip 2を制限します。検証コード(やや複雑な点がありますので、簡単にはできません。)3.フォームの提出先を制限します。4.外部frame参照禁止