码迷,mamicode.com
首页 > Web开发 > 详细

幼儿园报名网站同一帐号限制多人登录的解决方案

时间:2015-04-21 18:50:46      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

马上要开始幼儿园报名了,今年的报名网站进行了改版限制,需要用幼儿身份证号实名注册,然后同时只允许一人登录报名,如果同一帐号有其它人登录,则会自动注销第一个登录的人。所以就不可以把登录帐号分享给其它人来实现多人报名了。为了解决这个问题,就有了下面的技术解决方案。技术原理就是在主操作人员的电脑上登录报名网站,然后把登录认证的cookie,sessionid共享给其它操作人员,修改http协议的cookie信息来欺骗服务器,经测试可以通过。下面开始其它操作人员的详细配置过程。

1.下载web开发调试工具 Fiddler

浏览器打开http://www.telerik.com/download/fiddler页面进行下载,根据个人电脑情况可能需要安装.net运行时环境

技术分享

 2.安装工具

下载完成后,开始安装过程

技术分享技术分享技术分享

 3.启动工具

开始菜单找安装的软件,点击启动

技术分享

第一次运行可能会有下面的配置确认框,选择“否”关闭就可以。

技术分享

正常运行起来的样子

技术分享

8.开始配置工具

在开始配置工具之前,建议关闭所有的浏览器窗口,包括ie,firefox,chrome等浏览器

先配置网页过滤器,避免显示过多的通信信息。具体配置信息看下面图片的文字说明

技术分享

接下来重要的配置步骤,自定义过滤器的程序代码设置

选择菜单的 Rules --> Customize Rules....菜单

技术分享

选择否不安装

技术分享

会自动用记事本打开程序代码文件,这时点击编辑菜单的查找,输入 OnBeforeRequest 关键字进行查找

技术分享

在找到下图的位置,一定要注意位置,在static function OnBeforeRequest(oSession: Session) {这行回车新建行。粘贴下面的代码

         if (oSession.HostnameIs("www.hdkindergarten.net")) {
            if(oSession.oRequest.headers.ExistsAndContains("Cookie","ASP.NET_SessionId=")) {
                oSession.oRequest.headers.Remove("Cookie");
            } else {
                //注意下面两行在正式报名前需要替换成给大家发送的代码
                var sessionId:String = "ASP.NET_SessionId=qyzsapjukj4nfz1ofszpc2pch";
                var appCookie:String = ".AspNet.ApplicationCookie=qOo4pbnj4oSqn3oN7zSo3pgh1jJBbqFqHLQtO8hY_y8d0_JJzJJb_NUsmAwKImpRFDdqlAr4YwXSX3jXw1C8hz-YzkKJFgmzByUyILou3BoterIcAxL6EJNA5KQpgJJQARw5DZ051zV8qKM21qUj6cHBQ-HOBd14qBlo5qd_MW3m_6FIQV_VDp_FkwC2IxUBrdE6vtpg712sMotYJQ92_RF92v9AHrJ-a_tUL1-SNcTMXWVCM7eu3BT-zWNAX6hPBl3Qrysy9DT6SJXaQrjck5mfarr4PP1CmyZT-6W9ikQzCaaeoXnxGag56EStaP6HoCGHXizWfPaD7n_5JLaNse707B8aYUyOxuGk20glkTug7EF3VbjPz0VdTcOUO5rvPG2ojxZ5b_rhTa_gzGg3l0YMyWp6GCCBMDfJxZ5_6Nd-t8QBdjvuu_1Y-fWR1l8lBxk5Db4OsMOHPkQDJeOPGYnFwgSI";
                //注意上面两行在正式报名前需要替换成给大家发送的代码
                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);
                    }
                }
            }
        }

技术分享

复制粘贴完代码后进行保存,这时注意,其中的两行代码变量,需要在正式报名前半小时我会把登录的认证信息发送给大家,然后大家同样的操作过程,打开该文件替换下图选中的两行代码,一定注意代码位置。

技术分享

保存文件,记事本可以关闭,也可以不关闭,如果代码有错误,对应的Fiddler工具会弹出错误信息的,如果没有弹出就说明代码没有错误

至此,配置已经完成

5.打开浏览器访问报名网站

经过上述的配置,新打开浏览器访问报名网站,正常的话就会显示已经登录认证过了,如下图,可以看到用户信息。

这里注意,千万别点击注销按钮,因为大家共用的一个登录会话,一个注销则全部注销,且所有的认证授权信息全部失效。

技术分享

Fiddler工具在使用过程中可能会弹出下面的警告框,去掉下面的选项关闭窗口就可以了

技术分享

操作完成后关闭所有窗口就可以了,千万别点击注销按钮。

正确的登录认证信息会在报名前半小时通过QQ分发给大家。

 

 

幼儿园报名网站同一帐号限制多人登录的解决方案

标签:

原文地址:http://my.oschina.net/qjx1208/blog/404607

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!