如果人类少一些私欲,世界将多一些安详……
2006年7月1日 #
上个星期,给朋友作了一个投票作弊的小程序<投票作弊程序制作思路>,后来,本来也相安无事。但是可能是朋友玩的过火了。他给自己投了1万多票了,而其他人还只有几百票,于是网站管理员发现了这个情况。不但把所有的记数全部清零,而且修改了投票的程序,这次真的变成了限制IP投票的方式了,这样就不能使用上次的方式了,我的朋友又来求我。我拒绝了他的要求,因为他用我的程序作出了不好的事情。但是因为我想挑战一下自己,于是我就想试着作一个可以突破IP限制投票的程序,这次我就不给他了。嘿嘿再来看看投票测试的步骤1、联上ADSL,上网,投票,提示投票成功。重新投票,提示投票失败。2、断开ADSL,重新联上ADSL,上网,投票,提示投票失败3、删除了COOKIES,断开ADSL,重新联上ADSL,上网,投票,提示投票成功从上面的操作我们可以看到,这次网站的程序员是使用了即限制COOKIES又限制IP的方法。有了上次的经验,限制COOKIES当然是没有办法难住我了,就是这个突破IP的方式应该如何呢?我想到了使用代理方式,因为如果你使用代理服务器上网的话,网站获取的IP地址其实是代理服务器的。于是我作了如下测试1、在GOOGLE上搜索了一下代理服务器列表(好家伙,还挺多的)2、打开IE的工具栏,在连接中使用代理连接,填了一个刚才代理服务器的地址。3、重新连接投票网站,首先删除了COOKIES,然后投票,提示投票成功4、又找了一个代理服务器地址,重新改了代理服务器的连接。5、删除COOIKES。投票,提示成功。看来方法找到了,但是如何在WINFORM中实现这个功能呢?我在WINFORM中,写入一个textBox,将从网站上找到的代理服务器列表,贴进去然后在MSDN Library中搜索Proxy,发现了有好几种方式都能实现在WINFORM中的代理。我选择了WebProxy的方式,按照上面的提示,写下如下代码:
我们分析一下首先我声明了一个WebProxy的实例,proxyStr是代理服务器的地址,后面的true是对于本地服务,不是用代理服务器。这个其实可以不用写。其次,建立request对象,写入需要创建的地址,并且设置了代理服务然后使用resposne对象,执行对于请求的结果。最后关闭输出就是这么一个简单的方法,然后再结合我之前的删除COOKIES的方法。哈哈,一个突破IP投票的小程序就写好了我试了一下,效果还可以,有些代理由于无法使用,可能会抛出异常,我们捕获并作些处理就好了恩,希望对大家有所帮助
Powered by: 博客园 Copyright © Voodoo's天空