马上要开始幼儿园报名了,今年的报名网站进行了改版限制,需要用幼儿身份证号实名注册,然后同时只允许一人登录报名,如果同一帐号有其它人登录,则会自动注销第一个登录的人。所以就不可以把登录帐号分享给其它人来实现多人报名了。为了解决这个问题,就有了下面的技术解决方案。技术原理就是在主操作人员的电脑上登录报名网站,然后把登录认证的cookie,sessionid共享给其它操作人员,修改http协议的cookie信息来欺骗服务器,经测试可以通过。下面开始其它操作人员的详细配置过程。
如果本机没安装360软件,从官方下载安装。如果有360软件忽略该步骤。浏览器打开 http://www.telerik.com/download/fiddler页面进行下载,根据个人电脑情况可能需要安装.net运行时环境
或者通过360软件管家进行安装,搜索 Fiddler 软件并进行安装
下载完成后,开始安装过程
开始菜单找安装的软件,点击启动
如果启动时提示缺少.netframework运行时框架时,打开360软件管家搜索 Microsoft .NET Framework 4.0 进行安装。如果没提示则忽略该步骤。
第一次运行可能会有下面的配置确认框,选择“否”关闭就可以。
正常运行起来的样子
先配置网页过滤器,避免显示过多的通信信息。具体配置信息看下面图片的文字说明,报名网址输入 www.hdkindergarten.net
接下来重要的配置步骤,自定义过滤器的程序代码设置
选择菜单的 Rules --> Customize Rules....菜单
选择否不安装
会自动用记事本打开程序代码文件,这时点击编辑菜单的查找,输入 OnBeforeRequest 关键字进行查找
在找到下图的位置,一定要注意位置,在static function OnBeforeRequest(oSession: Session) {这行回车新建行。粘贴下面的代码
if (oSession.HostnameIs("www.hdkindergarten.net")) { if (oSession.uriContains("/Account/Register") || oSession.uriContains("/Account/Login") || oSession.uriContains("/Manage/ChangePassword") || oSession.uriContains("/Manage/AddPhoneNumber") || oSession.uriContains("/Account/LogOff")) { oSession.utilCreateResponseAndBypassServer(); oSession.responseCode = 302; oSession.oResponse.headers.Add("Location","/"); return; } if(oSession.oRequest.headers.ExistsAndContains("Cookie","ASP.NET_SessionId=")) { oSession.oRequest.headers.Remove("Cookie"); } else { //注意下面两行在正式报名前需要替换成给大家发送的代码 var sessionId:String = "ASP.NET_SessionId=tekgk0nhxbk0wf0ir00ij1nx"; var appCookie:String = ".AspNet.ApplicationCookie=hst2OWN4HpoK-OtL62irKSEZMT0-bek9FL30rcyXs7zNAuA7p4Gi8s7vGToqtR42pdeOASFFnzz_qNxwqIQxc7DOmeLhU-1TPaqDjYlgd1wv3CZm1sxmwqQdjiL5hCYj3cs1KpUiTueAVt4ZSBEcP4FqEbapGl8_Bc7UJcU4Z7jfMnNSbK44YdgXaV4Rcy9R0bW7mi9mAZi0SskBV1ivr4Hh2_gDek-MgkYHqf8eJAy53PW59sVkF65EyZ0Ojz0PWea61RNeAESwTyGLspU12kps6GX1sFcpY0H0H4XVpTeJly-l_RP9-4Ot9wb37D7K4WJcP7nGcSqliZnaASvH31MR0tZaxBPUdfocBsgtgp664D3lbrahL8j_zztq_Et_va79xoyc6kNShdfC2gTHxXhrXxBBSV8a-a8BnqW-EN-VnsWZ2AiIVM0bkKee2IY-o_3V44zjiIkZ0P9HjcNiVcj-l9s"; //注意上面两行在正式报名前需要替换成给大家发送的代码 if(!oSession.oRequest.headers.Exists("Cookie")) { oSession.oRequest.headers.Add("Cookie", sessionId + "; " + appCookie); } else { var requestCookie:String = oSession.oRequest.headers.AllValues("Cookie"); if(oSession.oRequest.headers.ExistsAndContains("Cookie",".AspNet.ApplicationCookie=")) { oSession.oRequest.headers.Remove("Cookie"); oSession.oRequest.headers.Add("Cookie", sessionId + "; " + requestCookie); } else { oSession.oRequest.headers.Remove("Cookie"); oSession.oRequest.headers.Add("Cookie", sessionId + "; " + appCookie + "; " + requestCookie); } } } }
复制粘贴完代码后进行保存,这时注意,其中的两行代码变量,需要在正式报名前半小时我会把登录的认证信息发送给大家,然后大家同样的操作过程,打开该文件替换下图选中的两行代码,一定注意代码位置。
Ctrl+S 保存文件,记事本可以关闭,任务切换到Fiddler工具窗口,如果代码有错误,对应的Fiddler工具会弹出错误信息的,如果没有弹出就说明代码没有错误
至此,配置已经完成,注意Fiddler这个软件不能关闭,最小化就行。
经过上述的配置,建议新打开浏览器访问报名网站 http://www.hdkindergarten.net/,正常的话就会显示已经登录认证过了,如下图,可以看到用户信息。
这里注意,千万别点击注销按钮,因为大家共用的一个登录会话,一个注销则全部注销,且所有的认证授权信息全部失效。
Fiddler工具在使用过程中可能会弹出下面的警告框,去掉下面的选项关闭窗口就可以了
操作完成后关闭所有窗口就可以了,千万别点击注销按钮。
正确的登录认证信息会在报名前半小时通过QQ分发给大家。