現在網站常常會舉辦一些投票活動來吸引人氣,如果這些投票網頁沒寫好的話,往往就可以用程式來灌票。

常見的投票網頁有幾種防止灌票的作法:
一、限制會員
投票網頁規定只有會員才能投,這種限制是最嚴格的,通常會員投下票時就會把投票記錄寫入資料庫,想用同一個帳號同一天內重複投票幾乎是不太可能。
二、檢查IP
檢查該IP是否同一天內重複投票,這種檢查方法可以輕易的在程式中設定proxy來避開,當然程式必須準備一些可用的proxy來切換,否則想大量灌票也很難。
三、檢查cookie資料
當上網投票時,投票網頁通常會在個人電腦上留下資料,這些資料稱為cookie,當我們想在投第二次票時,投票網頁就會來檢查這些資料,看看你是否已經投過票了,這種檢查方法只能騙一些初學者,只要執行IE的「工具」「網際網路選項」「一般」「刪除cookie」就能將這些資料刪除。

上面只是大略的說一下避免重複投票的方法,當然投票網頁也可以同時檢查好幾項資料,例如同時檢查IP和cookie資料。目前網頁為了避免機器人太過氾濫,往往都會在送出資料到伺服端時要求輸入認証碼,這是個預防機器人很好的方法,因為這些灌票程式通常都是以scirpt語言寫成的,要用script語言來做到圖形辨識(image recognition)似乎有點困難,當然應該還是有其他方法可以遶過圖形辨識的認証方法而直接送資料到伺服端,不過整體而言要求輸入認証碼再加上IP、cookie等檢查,是比較好的檢查方法。

下面示範怎麼對一個完全沒防護的網頁灌票,用perl語言來寫再簡單也不過
use LWP::UserAgent;
my $ua=LWP::UserAgent->new;
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)');
my $url='http://xxx.xxx.xxx.xxx/vote.php';
while(1){
 my $res=$ua->post(
  $url,
  ['postdata1'=> $postdata,'postdata1'=> $postdata],
  'Accept'=>'*/*',
  'Accept-Language'=>'zh-tw',
  'Cookie'=>'',
 );
}

$url為投票的網址
['postdata1'=> $postdata, 'postdata1'=> $postdata]為投票的INPUT欄位及資料
再下來的一長串為投票時要送出的header,這部份有時是可以省略的,我們把Cookie設為空白,即清除cookie的意思。
這是個很簡單的投票程式,也是投票程式的基本架構,複雜的程式可以用這個基本架構繼續擴張。

接下來我們幫程式加上proxy,這樣可以逃過IP的檢查
use LWP::UserAgent;
my $ua=LWP::UserAgent->new;
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)');
my $url='http://xxx.xxx.xxx.xxx/vote.php';
while(1){
 $ua->proxy('http', 'http://proxy.hinet.net');
 my $res=$ua->post(
  $url,
  ['postdata1'=> $postdata,'postdata1'=> $postdata],
  'Accept'=>'*/*',
  'Accept-Language'=>'zh-tw',
  'Cookie'=>'',
 );
}
上面的程式只加了一行$ua->proxy('http', 'http://proxy.hinet.net');,設定的proxy server的網址。當然如果想要大量灌票的話,一個proxy是絕對不夠的,因此我們要找一堆免費的proxy server,這就要靠google搜尋啦。

無論是IP檢查或是cookie檢查都能很容易的避過,只是驗証碼的檢查我還沒想出什麼好方法,有參考資料的網友們,也請不吝分享:)

相關資料:
自動投票程式
台鐵網路訂票
創作者介紹

神鵰蝦

jck11 發表在 痞客邦 PIXNET 留言(27) 人氣()


留言列表 (27)

發表留言
  • 悄悄話
  • 看的霧煞煞
  • perl語言??是要用什麼程式輸入阿
  • 悄悄話
  • 悄悄話
  • zxlovesky
  • 你教的語言要怎麼使用?
  • 悄悄話
  • 阿KEN
  • 請問你寫的程式要怎麼使用? 需要安裝哪些東西? 因為都沒有接觸過? 程式都是英文!!
  • 可以用Google查一下perl看看
    有很多相關的介紹

    jck11 於 2008/12/01 21:41 回覆

  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 小婷
  • 請問你教的這些,需要安裝哪些東西才能灌票??那您上面交的那些亂碼,是要貼在哪裡??
  • kevin
  • 請問您有幫人在寫程式嗎?

    我們想找人寫簡單的自動投票程式,如果您有幫人在寫,請您跟我聯絡,謝謝!kevin0932210724
  • helen
  • 不好意思!!!
    可以請你幫我寫個自動灌票程式嗎???
    它是鎖IP的一個投票活動
    對於你寫的程式有看沒有懂~請你幫幫忙!!!
  • daisy
  • please !!!

    請問針對我這個網站 要怎麼灌票阿!! 3QQQ
    ^ ^
  • 悄悄話
  • 悄悄話
  • Nick
  • 不會使用

    這怎麼使用,是語法嗎?
    完全看不懂..請大大教學。
  • 蜜雪
  • 使用方式相關

    請問到底該怎嚜使用這樣程式呢^^?
    想要學習看看~
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • Jia Zhang
  • [BigIP 灌票幫手]

    https://play.google.com/store/apps/details?id=com.beta.bigip

    您曾經懷疑網路票選為何可以動輒數萬票? 為何仍被判定有效票?BigIP就是幕後的武林密技。灌票時,BigIP可以幫助您隨時改變IP位置,以規避防堵。

    車票、門票、台鐵車票總是殘酷的限量?想多買又怕被抓?BigIP就是你的好夥伴!網路購物時,BigIP快速模擬不同網路身分,讓您包下所有火車票不擔心。

    想匿名爆料?想發業代文?想製造人氣風潮?想一人分飾多角精神分裂?BigIP幫您輕鬆實現!BigIP提供完整網路匿名,無論在討論區、BBS,您都可以無限扮演任何角色,讓人肉搜索成為歷史的代名詞。

    現在就下載BigIP,免費獲得200次使用!!
找更多相關文章與討論