CN103490896B - 多用户网站自动登录器及其实现方法 - Google Patents

多用户网站自动登录器及其实现方法 Download PDF

Info

Publication number
CN103490896B
CN103490896B CN201310420969.XA CN201310420969A CN103490896B CN 103490896 B CN103490896 B CN 103490896B CN 201310420969 A CN201310420969 A CN 201310420969A CN 103490896 B CN103490896 B CN 103490896B
Authority
CN
China
Prior art keywords
information
user
website
cookie
certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310420969.XA
Other languages
English (en)
Other versions
CN103490896A (zh
Inventor
李勋
李大鹏
张楠
陈朋辉
刘秀磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Genesis Technology Co., Ltd.
Original Assignee
Beijing Transtec Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Transtec Technology Co Ltd filed Critical Beijing Transtec Technology Co Ltd
Priority to CN201310420969.XA priority Critical patent/CN103490896B/zh
Publication of CN103490896A publication Critical patent/CN103490896A/zh
Application granted granted Critical
Publication of CN103490896B publication Critical patent/CN103490896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种多用户网站自动登录器及其实现方法,包括证书组装模块、Cookies信息池、用户信息存取模块和模版信息读取模块;其中,所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;所述Cookies信息池,为一个映射(map)结构,其键(key)为网站域名,数值(value)为一个个的子map结构,所述子map结构每条记录的key是用户的用户名和密码的哈希值,所述value为一个cookie信息的字符串;用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及模版信息读取模块,用于从数据来源读取所需要的信息。利用本发明,能够支持批量用户以占用系统资源尽可能少的情况下快速登录新站点并实现多用户自动登录。

Description

多用户网站自动登录器及其实现方法
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种多用户网站自动登录器及其实现方法,使用计算机语言java进行的系统实现,其作用不仅限于将携带用户认证信息、特殊请求信息、异步post数据请求,自动登录指定站点,而且还专注于cookie信息有效性验证,信息池的建立和维护。
背景技术
在大数据时代,有很多需要获取网络信息的应用场景,网站也需要越来越多的注册用户来体现自己的价值,要求站点信息或者资源需要用户登录后才能看到。现在比较常用的方法是模拟浏览器实现post请求。这是最基本的实现思路,也是比较费时的一种做法,并且无法实现批量的用户登录。
发明内容
有鉴于此,本发明的主要目的在于提供一种多用户网站自动登录器及其实现方法,能够支持批量用户以占用系统资源尽可能少的情况下快速登录新站点并实现多用户自动登录。
为达到上述目的,本发明的技术方案是这样实现的:
一种多用户网站自动登录器,主要包括证书组装模块、cookie信息池、用户信息存取模块和模版信息读取模块;其中,
所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;
所述cookie信息池,为一个映射map结构,其键key为网站域名,数值value为一个个的子map结构,所述子map结构每条记录的键key是用户的用户名和密码的哈希值,所述value为一个cookie信息的字符串;
用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及
模版信息读取模块,用于从数据来源读取所需要的信息。
其中,所述用户信息包括登录网站用的用户名和密码信息。
所述数据来源为文件或数据库。
一种多用户网站自动登录方法,包括如下步骤:
A、进入系统前先查看需要的cookie信息,并判断cookie信息池是否为空;若为空,则执行步骤G;否则,执行步骤B;
B、加载相应网站的登录模版,以映射map结构放在内存中,键key为网站域名,数值value为模版的字符串信息,然后执行步骤C;
C、从用户信息的数据源读取数据,用户的网站用户名,密码以及网站本身的域名信息,并将其放入队列中等待被调用;
D、根据用户信息和模版信息批量组装证书;
E、拿到证书后,若为Form表单方式的登录,则按照需要还要根据模版从登录页面提取一些信息,然后发送一次post请求,得到网站服务器的响应,拿到cookie信息;
F、将批量的cookie信息放入到cookie信息池中;
G、系统结束。
其中,执行步骤F后,所述cookie信息池中具有所有用户的登录cookie。
步骤D所述根据用户信息和模版信息批量组装证书,具体为从用户信息队列批量取出记录,按照域名从模版内存map中拿到相应网站的模版信息。
步骤E进一步包括,拿到证书后,若为NTLM表单方式的登录则不需。
本发明所提供的多用户网站自动登录器及其实现方法,具有以下优点:
将本发明应用于爬虫爬取带有用户登录的系统中,在爬取企业网站系统时,自动携带用户的信息分别进行系统登录。同一个系统的登录方式一致,如果每个用户登录一次都要分析登录方式,存在大量的重复分析工作,不仅浪费了磁盘IO,还会导致每次爬取的时等待认证时间加长。另外登录成功后查看各个页面,如果需要每个页面每次去请求登录,也是会造成大量的浪费,通过本发明的自动识别登录之后,不仅需要分析的工作少了,速度提升了,并且依然能够知道用户该以怎样的方式登录,用户登录查看其它页面时,最快速度的携带获取认证信息,为企业搜索的权限文件获取提供了支持。应用本发明,还能够解决这样一种需求:有些需要测试站点自动注册,注册有效性,可以通过本系统进行大量模拟真实的流程测试,节省人力成本,从而保证系统的承压及功能真实有效性。
附图说明
图1为本发明的多用户网站自动登录器的功能框图;
图2为利用本发明进行多用户网站自动登录的实现过程示意图。
具体实施方式
下面结合附图及本发明的实施例对本发明的方法作进一步详细的说明。
在需要登录的网站用户有很多的情况,我们做了如下改进:将一个站点登录需要的认证信息,及请求方式,记录为模版信息。然后在访问相同站点信息时,只需替换模版中的用户名和密码信息,组装为认证证书即可完成登录,这样就实现了一定的自动化。
当登录成功后,如果断开与目标网站的连接,你的会话在目标网站被删除,再次访问资源时会要求你重新登录,例如常见的浏览器。其实在登录之后,目标网站会分发给你一个cookie,当你的超文本传输协议(http)请求访问带着cookie时,就可以访问这些资源。但是浏览器对于一个目标网站只能缓存一个用户的信息。我们则需要将大量的cookie信息缓存,来做批处理数据,在我们的系统中会有一个cookie信息池来做这项工作。这里,所述cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该cookie给服务器(前提是浏览器设置为启用cookie)。
本发明作为一种计算机系统的应用工具,其基于http请求,cookie信息池,主要解决Form表单验证和NTLM验证。Form表单验证是基于Post请求设计的,是当前较为普遍的一种验证方式,当前大部分浏览器/服务器(B/S)结构的网站注册登录注册都是通过这种方式提交到服务器。这里,NTLM是Windows NT早期版本的标准安全协议,是Windows 2000内置三种基本安全协议之一本系统认证模版基于http请求。目前apache公司的httpclient也实现了两种验证的登录,但是对于批量的登录还是不够智能,不够效率。而且本系统不仅限于发送用户密码等数据到模版,针对一些特殊网站的登录需要请求时携带页面源码中的部分标识信息(ID),还有些需要当前时间戳等信息,通过模版智能学习实现更大范围的站点自动登录。
本发明为解决上述问题还采用了如下技术。
1、Form表单验证:基于http、安全超文本传输协议(https)定义了与服务器交互的不同方法,最基本的方法是GET和POST,Form表单验证数据属于敏感数据的传输,以POST请求为方式,将数据放置在HTML HEADER内提交,同时没有限制请求提交的数据长度。
2、NTLM验证:NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你自己的帐户和密码登录。
3、业务逻辑设计:
(1)用户登录一个站点,首先去cookie信息池中查找认证缓存,若有直接访问,若无执行步骤(2)。
(2)读取配置好的登录模版,将登录认证模版放到一个内存map中,从数据库拿到批量的用户信息,组装批量认证证书,登录成功后,并将cookie值放入cookie信息池。
(3)当继续访问该用户下的其它页面数据,直接从cookie信息池中取出认证缓存,实现访问信息。避免多次认证,同时不用相同认证模版多次组装。大大优化了性能。
(4)当多用户分别登陆过站点后,cookie信息池中会保存各自的认证登录信息,当爬虫系统或者其他系统,再来访问该用户信息的时候,直接调用cookie信息池中的认证缓存信息,即可实现无登陆访问个人信息页面。
但是要注意的是,cookie信息池中的认证缓存,部分会有时效性。这样在调用cookie认证不成功的情况下,仅需重新执行访问操作,移出原有cookie,记录新的cookie。
图1为本发明的多用户网站自动登录器的功能框图。如图1所示,该多用户网站自动登录器主要包括:证书组装模块、cookie信息池、用户信息存取模块和模版信息读取模块。其中,
所述证书组装模块,用于获取用户信息,主要是登录网站用的用户名和密码,以及模版信息(对于Form表单验证来说,就是登陆页面需要提交的一些参数,这些参数可以通过一些网页解析工具来获取,但是相应的你要提供这些参数在页面的位置或者名字信息,对于NTLM验证来说,需要有它的域名城)来组装证书。
所述cookie信息池,信息池是一个映射(map)结构,即一种计算机的键值对数据结构,他的键(key)为网站域名,数值(value)还是一个个的子map,这些子map每条记录的键是用户的用户名和密码的哈希(hash)值,value是一个cookie信息的字符串。信息池本身在磁盘上进行备份,能够满足宕机重启连续工作。
所述用户信息存取模块,从数据来源(文件或者数据库)读取需要用户的用户名和密码等信息。以及,
所述模版信息读取模块,从数据来源(文件或者数据库)读取需要的信息。
本发明的发现和配置登录认证模版及登录信息记录缓存,主要解决以下问题:
1)在多个登录新站点尽可能快速以占用系统资源少的情况下实现多用户自动登录。现有技术在登录时,需要逐一单个站点多次分析请求,再加上一些的业务逻辑来实现,在分析站点登录方式和业务逻辑的设计上的欠妥都会造成,效率低下和系统资源重复占用等问题。本系统设计实现了以cookie共享池为基础的认证信息内存map结构,首先在分析相同站点登录方式时,做多种测试判断,结合成功登录系统时的数据包,系统学习形成该站点的登录认证模版。在相同站点下,不同用户,不同时机登录时,只需替换认证模版中的个人信息参数即可。
2)登录认证信息缓存。我们需要对用户下的所有页面进行访问。首先我们在首次登录一个新的站点的时候,自动分析登录系统的认证模版,然后将该站点的模版信息加入内存map,在不同用户来访问这个站点的时候,就不用再进行登录认证模版分析,直接从map集合中获取对应模版,实现登录。在用户登录完成时,记录cookie信息,放入cookie信息池中。当访问该用户下的其他页面数据时,直接从cookie信息池中取出cookie,即可实现其它用户页面数据的访问。当用户再次需要重新访问该站点的时候,首先去cookie信息池中去查,发现已经存在对应cookie信息,则直接访问(无须再次登录)。若不存在则执行从模版数据源读取站点模版。实现登录后,再将cookie信息记录在共享池中,极大地提高了多用户登录效率。
图2为利用本发明进行多用户网站自动登录的实现过程示意图。如图2所示,该过程包括如下步骤:
步骤21:当需要cookie信息时进入此系统。
步骤22:判断cookie信息池是否为空,如果是,则执行步骤28系统结束;否则,执行步骤23。
步骤23:加载相应网站的登录模版,以映射(map)结构放在内存中,键为网站域名,数值为模版的字符串信息,然后执行步骤24。
步骤24:从用户信息的数据源读取数据,用户的网站用户名,密码以及网站本身的域名信息。放在一个队列中等待被顺序调用。
步骤25:根据用户信息和模版信息组装证书。即从用户信息队列拿出一条记录,按照域名从模版内存map中拿到相应网站的模版信息,该组装证书的处理过程为批处理,即批量组装。
步骤26:拿到证书,如果是Form表单方式的登录,按照需要还要根据模版从登录页面提取一些信息,然后发送一次post请求,得到网站服务器的响应,拿到cookie信息。如果NTLM方式则不需要。
步骤27:将批量的cookie信息放入到cookie信息池中。此时cookie信息池中具有所有用户的登录cookie,可以随便使用。
步骤28:系统结束。
下面列举2个应用本发明的具体实施例:
一、在爬虫应用方面,有时候一些需要登录的办公系统,在未登录时是不允许访问任何资源的,一个企业可能有很多办公系统以及很多员工,员工之间的权限并不相同,此时通过自动登录器我们可以自动克服登录验证,然后抓取不同的资源。因为是批量的登录,节约了时间,以后在访问可以直接从cookie信息池拿到需要的cookie直接访问。
二、再例如我们需要对于一个网站很多注册用户进行一个一致的操作,从代码上进行升级修改可能成本高,时间周期也长。直接通过登录器进行批量登录,然后进行批量的操作。如果用户数以万计,人工进行修改明显是不现实的。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (7)

1.一种多用户网站自动登录器,其特征在于,主要包括证书组装模块、cookie信息池、用户信息存取模块和模版信息读取模块;其中,
所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;
所述cookie信息池,为一个映射map结构,其键key为网站域名,数值value为一个个的子map结构,所述子map结构每条记录的键key是用户的用户名和密码的哈希值,所述子map结构每条记录的数值value为一个cookie信息的字符串;
用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及模版信息读取模块,用于从数据来源读取所需要的模版信息;
其中,所述模版信息为一个站点登录需要的认证信息及请求方式。
2.根据权利要求1所述多用户网站自动登录器,其特征在于,所述用户信息包括登录网站用的用户名和密码信息。
3.根据权利要求1所述多用户网站自动登录器,其特征在于,所述数据来源为文件或数据库。
4.一种多用户网站自动登录方法,其特征在于,包括如下步骤:
A、进入系统前先查看需要的cookie信息,并判断cookie信息池是否为空;若为空,则执行步骤G;否则,执行步骤B;
B、加载相应网站的登录模版,以映射map结构放在内存中,键key为网站域名,数值value为模版的字符串信息,然后执行步骤C;
C、从用户信息的数据源读取数据,用户的网站用户名,密码以及网站本身的域名信息,并将其放入队列中等待被调用;
D、根据用户信息和模版信息批量组装证书,所述用户信息包括登录网站用的用户名和密码信息,所述模版信息为一个站点登录需要的认证信息及请求方式;
E、拿到证书后,若为Form表单方式的登录,则按照需要还要根据模版从登录页面提取一些信息,然后发送一次post请求,得到网站服务器的响应,拿到cookie信息;
F、将批量的cookie信息放入到cookie信息池中;
G、系统结束。
5.根据权利要求4所述多用户网站自动登录方法,其特征在于,执行步骤F后,所述cookie信息池中具有所有用户的登录cookie。
6.根据权利要求4所述多用户网站自动登录方法,其特征在于,步骤D所述根据用户信息和模版信息批量组装证书,具体为从用户信息队列批量取出记录,按照域名从模版内存map中拿到相应网站的模版信息。
7.根据权利要求4所述多用户网站自动登录方法,其特征在于,步骤E进一步包括,拿到证书后,若为NTLM表单方式的登录则不需。
CN201310420969.XA 2013-09-16 2013-09-16 多用户网站自动登录器及其实现方法 Active CN103490896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310420969.XA CN103490896B (zh) 2013-09-16 2013-09-16 多用户网站自动登录器及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310420969.XA CN103490896B (zh) 2013-09-16 2013-09-16 多用户网站自动登录器及其实现方法

Publications (2)

Publication Number Publication Date
CN103490896A CN103490896A (zh) 2014-01-01
CN103490896B true CN103490896B (zh) 2017-02-08

Family

ID=49830870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310420969.XA Active CN103490896B (zh) 2013-09-16 2013-09-16 多用户网站自动登录器及其实现方法

Country Status (1)

Country Link
CN (1) CN103490896B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306293A (zh) * 2015-10-14 2016-02-03 浪潮软件集团有限公司 一种基于虚拟登陆的数据采集方法
CN105631030A (zh) * 2015-12-30 2016-06-01 福建亿榕信息技术有限公司 一种通用的网络爬虫模拟登录方法及系统
CN106330433B (zh) * 2016-10-27 2019-07-16 成都知道创宇信息技术有限公司 一种基于家用路由器的密码保护方法
CN109960945B (zh) * 2017-12-26 2023-03-21 中标软件有限公司 浏览器主动安全保护方法及系统
CN108076067B (zh) * 2017-12-27 2021-05-18 北京中关村科金技术有限公司 一种授权爬虫配置化模拟登录的方法及系统
CN108256106B (zh) * 2018-02-06 2021-11-02 深圳鼎智通讯股份有限公司 一种模拟访问网站适配器系统
CN108418827B (zh) * 2018-03-15 2020-11-03 北京知道创宇信息技术股份有限公司 网络行为分析方法以及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272237A (zh) * 2008-04-22 2008-09-24 北京飞天诚信科技有限公司 一种用于自动生成和填写登录信息的方法和系统
CN102136964A (zh) * 2010-11-25 2011-07-27 中国移动(深圳)有限公司 一种网站测试方法和系统
CN102438000A (zh) * 2011-03-11 2012-05-02 奇智软件(北京)有限公司 一种多账户登录方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444548B2 (en) * 2003-10-17 2008-10-28 Oracle International Corporation Methods and systems for automatically testing websites and web applications using knowledge bases of standard inputs and standard errors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272237A (zh) * 2008-04-22 2008-09-24 北京飞天诚信科技有限公司 一种用于自动生成和填写登录信息的方法和系统
CN102136964A (zh) * 2010-11-25 2011-07-27 中国移动(深圳)有限公司 一种网站测试方法和系统
CN102438000A (zh) * 2011-03-11 2012-05-02 奇智软件(北京)有限公司 一种多账户登录方法及设备

Also Published As

Publication number Publication date
CN103490896A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
CN103490896B (zh) 多用户网站自动登录器及其实现方法
JP4779444B2 (ja) シングルサインオン実現方法
CN103888490B (zh) 一种全自动的web客户端人机识别的方法
ES2375861B1 (es) Sistema y método para gestionar la autenticación automática a recursos objetivo de internet.
CN109933701B (zh) 一种基于多策略融合的微博数据获取方法
Kumar A Review on Client-Server based applications and research opportunity
CN103023710A (zh) 一种安全测试系统和方法
CN106341233A (zh) 客户端登录服务器端的鉴权方法、装置、系统及电子设备
WO2016173199A1 (zh) 一种移动应用单点登录方法及装置
CN107835160A (zh) 基于二维码的第三方用户认证方法
CN103414745A (zh) 一种移动终端跨浏览器登陆的方法和装置
CN106559289A (zh) Sslvpn网关的并发测试方法及装置
CN110620670A (zh) 令牌获取方法、数据采集系统、代理服务器和存储介质
CN102143177A (zh) 一种Portal认证方法、装置、设备及系统
CN103634111B (zh) 单点登录方法和系统及单点登录客户端
CN103746806B (zh) 一种网页认证方法、装置及网络设备
CN104375935A (zh) Sql注入攻击的测试方法和装置
Lavrenovs et al. Exploring features of HTTP responses for the classification of devices on the Internet
WO2011137683A2 (zh) Web应用托管方法及装置
CN104954331A (zh) 一种登录认证配置装置及方法
CN109285046A (zh) 一种基于业务插件化的电商大数据采集系统
CN109194695A (zh) 门户认证方法、系统及计算机可读存储介质
Su et al. AndroGenerator: An automated and configurable android app network traffic generation system
CN104866532B (zh) 一种用于半封闭数据环境下的数据搜索的方法和装置
CN108363922B (zh) 一种自动化恶意代码仿真检测方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING CHUANGSHI TAIKE TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING PENGYUCHENG SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150113

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150113

Address after: 100088 Beijing City, Haidian District Zhichun Road Jinqiu International Building No. 6 A block 1602

Applicant after: Beijing Genesis Technology Co., Ltd.

Address before: 100088 Beijing City, Haidian District Zhichun Road Jinqiu International Building No. 6 A block 1602

Applicant before: Beijing PYC Software Co., Ltd.

CB02 Change of applicant information

Address after: 100088 Beijing City, Haidian District Zhichun Road No. 6 (Jinqiu International Building) A District 1309, 1310, 1601.

Applicant after: Beijing Transtec Technology Co., Ltd.

Address before: 100088 Beijing City, Haidian District Zhichun Road Jinqiu International Building No. 6 A block 1602

Applicant before: Beijing Genesis Technology Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant