APP下载

远程透明访问电子资源系统的设计与实现

2014-11-10邓重斌

科技创新导报 2014年20期

邓重斌

摘 要:远程透明访问电子资源系统实现了用户端不需要安装任何插件和作任何设置,远程访问受IP限制的电子资源功能。该文叙述了系统工作原理,基于URL重写技术,设计并实现了系统远程透明访问,用户身份认证,访问控制和事件触发功能转移功能。

关键词:远程访问 透明代理URL Rewriting技术 泛域名

中图分类号:G250.76 文献标识码:A 文章编号:1674-098X(2014)07(b)-0196-04

随着电子资源的普及和丰富,人们越来越习惯和依赖于利用电子资源进行学习和科研,网络电子资源越来越显得重要。许多图书馆投入巨额资金引入了大量的网络数据库等电子资源。数据库提供商出于版权和商业利益的考虑,这些数据库电子资源大部分是通过IP地址认证访问方式提供服务。由于图书馆(特别是公共图书馆)用户IP分散和不固定,极大地限制了电子资源的利用率,造成图书馆电子资源利用率严重偏低,效益低下。[1]

为解决合法用户访问电子资源,开发远程访问电子资源系统有重大意义。突破IP限制常采用下列几种方式[2-7]:(1)参考咨询的办法,非技术、间接的办法解决IP限制问题。这是传统的方式,时至今日也是解决电子资源利用率的一个有效的方法;(2)VPN技术,即虚拟专用网,本质是通过Internet公网建立虚拟的私有网,从而解决IP限制问题。VPN是一项成熟的网络技术,通过VPN远程访问电子资源的论文大量出现在2003-2008年。VPN远程访问电子资源的优点是安全可控,但缺点也明显,图书馆需要安装VPN设备或服务,网络防火墙进行设置,用户需要安装VPN客户端软件;[8-10](3)使用自动配置脚本代理服务技术,通过浏览器设置自动脚本配置,实现指定的数据库访问代理服务器,解决IP限制问题。但安全性比较差,读者浏览器需要设置本地或服务器的脚本。2005年起,有这方面的论文发表,但没有VPN使用广泛;(4)透明代理技术。是指突破IP 地址的物理限制,用户计算机不用安装任何插件或作任何配置,通过身份认证后就可以在任何能上互联网的地方使用图书馆电子资源。透明代理技术是目前远程访问电子资源较理想解决方案。已经被广泛用于图书馆中受控电子资源的访问。远程访问图书馆电子资源服务欧美高校开展得最早,比如基于URL重写技术的产品Ezproxy,2005年前已经普遍使用。国内这方面应用研究较晚,2006年起陆续有文章介绍Ezproxy在高校图书馆的应用研究,2008年有高校与软件公司合作开发本校的远程服务系统,但开发通用产品还鲜有报道。[11-13]

鉴于远程透明访问电子资源的产品少、功能简单的现状,根据公共图书馆的特点,本文设计“远程透明访问电子资源系统”,系统采用URL地址重写技术开发,实现下列主要功能:(1)透明代理;(2)身份认证;(2)访问控制;(4)下载数量控制;(5)事件触发功能转移。身份认证、访问控制、透明访问是系统基本功能,系统的特点是设计了下载数量的控制及事件触发功能转移功能,对授权允许远程访问的资源,做到“既能有效开放,又能严格控制”,对授权必须馆内访问的资源,实现跳转至参考咨询等系统提供服务,为实现数据库商、图书馆、读者“三方共赢”提供技术保障和支持,对提供图书馆数据资源的利用率具有重要意义[14-15]。

1 远程透明访问电子资源系统的工作原理及核心技术

1.1 透明代理服务器与普通代理服务器的原理及区别

普通的代理服务器,需要在客户端浏览器设置代理服务器的IP地址及端口,所有访问都会通过代理服务器二传接力,加大了服务器的负担,也影响了客户端的效率。采用脚本的改进型代理服务器,虽然能够有选择性地使用代理服务器,即访问脚本指定的电子资源才通过代理,访问其他资源直接访问,但客户端需要进行脚本的设置。而透明代理则可以实现“零”设置,又能有选择性的使用代理服务器,实现客户便利及高效率。图1是两种代理服务器的示意图。

1.2 透明代理的核心技术

1.2.1 URL Rewriting技术

URL Rewrite即URL重写,就是改写网页里的URL,重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。透明代理服务器(tmproxy)就是可以利用URL Rewrite技术,通过改写受IP控制电子资源URL,使之转换成链接代理服务器新的URL。

例如:受IP控制的电子资源的URL是http://www.sciencedirect.com。代理服务器的URL是http://www.MyDomain.com,则URL 重写方式有2种:

(1)直接合并电子资源的URL和代理服务器URL的主机和域名,形成新的URL。例如http://www.sciencedirect.com.MyDomain.com,这里资源的主机与域名相当于新URL的主机名。采用这种方式,URL Rewriting实现最为简单,但DNS需要泛域名支持。

(2)电子资源URL的域名作为代理服务器URL的目录路径。例如http://www.MyDomain.com/ sciencedirect.com

正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。-

1.2.2 泛域名

泛域名解析就是将客户的域名纪录全部解析到同一个IP地址。设置泛域名解析后,除单独设置的域名纪录外,在域名前添加任何子域名,均指向同一个ip地址。

在远程透明访问电子资源系统中,使用泛域名技术,可以确保URL Rewriting改写后的地址都指向代理服务器的IP地址。例如:形如www.sciencedirect.com.MyDomain.com的改写后地址解析为代理服务器MyDomain.com的IP地址。endprint

2 远程透明访问电子资源系统设计与实现

2.1 开发工具和测试环境

开发工具:采用java语言编写,多线程程序设计,具有跨平台,稳定高效的特点。

测试环境:服务器端,至强CPU,3.0 G /2 M,EM64T,800 MHz前端总线,内存2GB,j2sdk;客户端,WindowsXP/IE6.0。

2.2 系统主要功能模块组成

远程透明访问电子资源系统组成如图3所示。

2.3 远程透明访问电子资源系统工作流程

远程透明访问电子资源系统原理和流程是:客户端浏览器发起http请求,在泛域名DNS的支持下(如果使用上文2.2.1(1)的URL Rewriting方式),所有代理服务器域名的链接都解析为代理服务器的IP地址,代理服务器分析http头信息,判断是否注册用户并且是否已经登录,如果符合登录用户的访问权限及下载控制策略,提取电子资源的原始地址,访问电子资源数据库Web Server,接收从web服务器返回的数据,判断是否是二进制的html,通过URL Rewriting技术,改写指定的数据库的URL,再返回客户端浏览器,其他数据如图片jpg,资源pdf文件则直接返回浏览器。原理、流程如图2所示。

2.4 用户验证模块的实现

进行多种形式的授权和身份认证,包括用户/密码;客户端IP地址;用户/密码+IP;访问时间控制;访问并发数限制等。

认证的过程是用户通过网页form或超链接向服务器提交用户名、密码等用户信息,服务器以这些信息作为条件查找用户数据库,如果能找到对应的记录,说明用户提交的登录信息正确。问题的关键是http协议是一个非链接的无状态协议,web服务器不知道正在连接的用户是否经过身份认证,要解决这个问题,首先需要在服务器端和客户端建立一一对应关系,并能保持客户状态。通常可采用cookie、session技术保持客户状态信息。

下面是IE浏览器访问服务器的hppt协议头信息(摘取部分):

GET / HTTP/1.1

Host: cs.tm.stlib.cn

Connection: Keep-Alive

此时并没有cookie的信息。

如果服务器返回请求时在http头加入如下的语句:

Set-Cookie:zhanghao= cs&mima=123; path=/

设置cookie内容为zhanghao=cs&mima=123,为说明起见,此处没有对cookie内容加密。

以后IE浏览器访问相同域名服务器时,会在hppt头信息增加下列一行:

Cookie:zhanghao=cs&mima=123

因此可把需要认证的信息,如帐号/密码,下载策略等存在cookie里,传递用户状态。如果用户禁止cookie,只能通过URL重写和表单隐藏字段的方式来传递用户状态信息了。

2.5 透明代理模块的实现

这是系统的核心,代理服务器是介于用户浏览器和资源Web服务器之间的一台服务器,浏览器的Request请求会先送到代理服务器,由代理服务器访问Web服务器,取回所需要的信息再传送给浏览器,从而解决IP限制问题。开发编程采用java.util.regex提供的标准正则表达式类库,写URL地址的匹配正则表达式,对从电子资源web服务器返回的网页内容进行搜索和替换,将改写后的网页数据返回客户端浏览器。如图4所示。

2.6 下载流量控制与事件触发功能转移模块的实现

这是本系统特色功能模块。目的是为了访问及下载的控制,做到“既能有效开放,又能严格控制”,从而保护数据库商的合法利益。功能包括:根据用户帐号的下载策略,对下载文献数量进行控制,对超数量下载、恶意下载提出警告,可自动冻结该帐号;下载时可设置触发条件,进入其它功能系统,实现相关功能。如进入收费系统,参考咨询系统,信息推送系统等。触发条件由特征字符串和对应的超链接组成,代理服务器接到浏览器请求时,首先判断是否满足触发条件:如果满足下载控制条件,则不再访问资源服务器,直接返回警告信息,并对账户作必要的处理;如果满足触发其它应用系统的条件,则进入对应的应用系统,如收费系统、参考咨询系统等。如图5所示。

2.7 系统日志模块的实现

日志内容包括:访问服务器的时间,用户的IP地址,被访问的资源名称,用户信息等。通过对日志的分析挖掘,可统计访问量,访问时间分布,访问数据库分布,用户的来源与类型等信息。

3 结语

系统具有身份认证、访问控制、透明访问功能,针对图书馆特点,与图书馆参考咨询等文献系统等应用系统的有机结合,设计了下载数量控制及事件触发功能转移功能,实现对受控电子资源访问的多层次技术支持,做到“既能有效访问,又能严格控制”,对保护数据库商的版权和商业利益,对图书馆如何提高电子资源利用率具有很好的示范意义。

参考文献

[1] 夏志方.远程访问图书馆电子资源技术综述[J].图书情报工作,2006,50(3): 123-126.

[2] 支蕾.图书馆电子资源远程访问模式探讨[J].内蒙古科技与经济,2010,8(15): 121-124.

[3] 王寒冰.数字图书馆远程访问技术之测试分析[J].现代情报,2009,29(9):104-107.

[4] 李忠君.校外访问图书馆电子资源方式分析与比较[J].科技文献信息管理,2010 (2):4-7.

[5] 叶新明,陈光锋.校外访问代理软件的分析与比较[J].现代图书情报技术,2006(1):83-85.

[6] 彭伟.迎接电子资源的挑战:上海图书馆电子资源远程访问服务案例研究[J].图书情报工作,2009,53(1):64-68.

[7] 凌征强.高校图书馆远程访问系统实现技术研究[J].图书馆学研究,2009(5): 43-46.

[8] 闫晓弟,耶健.基于VPN的电子资源远程访问系统的研究与实现[J].情报杂志,2009,28(8):159-166.

[9] 金家琴.基于SSL VPN技术实现公共图书馆电子资源远程访问[J].图书馆杂志,2009(3):64-68.

[10] 李磊.SSL VPN技术及其在高校图书馆的应用[J].信息技术,2011(7):261.

[11] 苏明强,张凌云.高校图书馆电子资源远程访问技术分析[J].内江科技,2012(1):104-105.

[12] 高旻,刘凡儒,高健.电子资源远程访问地址重写代理EZproxy研究[J].图书馆理论与实践,2008(5):80-81.

[13] Useful Utilities EZproxy Support.http://www.ezproxy.com/support/overview.html.

[14] 李洪文.基于URL重写技术的电子资源统一授权访问系统的原理和实现[J].大学图书馆学报,2008(4):68-71.

[15] 温明章.基于开源软件的数字图书馆资源远程访问的总设计[J].现代情报,2011,31(1):63-66.endprint

2 远程透明访问电子资源系统设计与实现

2.1 开发工具和测试环境

开发工具:采用java语言编写,多线程程序设计,具有跨平台,稳定高效的特点。

测试环境:服务器端,至强CPU,3.0 G /2 M,EM64T,800 MHz前端总线,内存2GB,j2sdk;客户端,WindowsXP/IE6.0。

2.2 系统主要功能模块组成

远程透明访问电子资源系统组成如图3所示。

2.3 远程透明访问电子资源系统工作流程

远程透明访问电子资源系统原理和流程是:客户端浏览器发起http请求,在泛域名DNS的支持下(如果使用上文2.2.1(1)的URL Rewriting方式),所有代理服务器域名的链接都解析为代理服务器的IP地址,代理服务器分析http头信息,判断是否注册用户并且是否已经登录,如果符合登录用户的访问权限及下载控制策略,提取电子资源的原始地址,访问电子资源数据库Web Server,接收从web服务器返回的数据,判断是否是二进制的html,通过URL Rewriting技术,改写指定的数据库的URL,再返回客户端浏览器,其他数据如图片jpg,资源pdf文件则直接返回浏览器。原理、流程如图2所示。

2.4 用户验证模块的实现

进行多种形式的授权和身份认证,包括用户/密码;客户端IP地址;用户/密码+IP;访问时间控制;访问并发数限制等。

认证的过程是用户通过网页form或超链接向服务器提交用户名、密码等用户信息,服务器以这些信息作为条件查找用户数据库,如果能找到对应的记录,说明用户提交的登录信息正确。问题的关键是http协议是一个非链接的无状态协议,web服务器不知道正在连接的用户是否经过身份认证,要解决这个问题,首先需要在服务器端和客户端建立一一对应关系,并能保持客户状态。通常可采用cookie、session技术保持客户状态信息。

下面是IE浏览器访问服务器的hppt协议头信息(摘取部分):

GET / HTTP/1.1

Host: cs.tm.stlib.cn

Connection: Keep-Alive

此时并没有cookie的信息。

如果服务器返回请求时在http头加入如下的语句:

Set-Cookie:zhanghao= cs&mima=123; path=/

设置cookie内容为zhanghao=cs&mima=123,为说明起见,此处没有对cookie内容加密。

以后IE浏览器访问相同域名服务器时,会在hppt头信息增加下列一行:

Cookie:zhanghao=cs&mima=123

因此可把需要认证的信息,如帐号/密码,下载策略等存在cookie里,传递用户状态。如果用户禁止cookie,只能通过URL重写和表单隐藏字段的方式来传递用户状态信息了。

2.5 透明代理模块的实现

这是系统的核心,代理服务器是介于用户浏览器和资源Web服务器之间的一台服务器,浏览器的Request请求会先送到代理服务器,由代理服务器访问Web服务器,取回所需要的信息再传送给浏览器,从而解决IP限制问题。开发编程采用java.util.regex提供的标准正则表达式类库,写URL地址的匹配正则表达式,对从电子资源web服务器返回的网页内容进行搜索和替换,将改写后的网页数据返回客户端浏览器。如图4所示。

2.6 下载流量控制与事件触发功能转移模块的实现

这是本系统特色功能模块。目的是为了访问及下载的控制,做到“既能有效开放,又能严格控制”,从而保护数据库商的合法利益。功能包括:根据用户帐号的下载策略,对下载文献数量进行控制,对超数量下载、恶意下载提出警告,可自动冻结该帐号;下载时可设置触发条件,进入其它功能系统,实现相关功能。如进入收费系统,参考咨询系统,信息推送系统等。触发条件由特征字符串和对应的超链接组成,代理服务器接到浏览器请求时,首先判断是否满足触发条件:如果满足下载控制条件,则不再访问资源服务器,直接返回警告信息,并对账户作必要的处理;如果满足触发其它应用系统的条件,则进入对应的应用系统,如收费系统、参考咨询系统等。如图5所示。

2.7 系统日志模块的实现

日志内容包括:访问服务器的时间,用户的IP地址,被访问的资源名称,用户信息等。通过对日志的分析挖掘,可统计访问量,访问时间分布,访问数据库分布,用户的来源与类型等信息。

3 结语

系统具有身份认证、访问控制、透明访问功能,针对图书馆特点,与图书馆参考咨询等文献系统等应用系统的有机结合,设计了下载数量控制及事件触发功能转移功能,实现对受控电子资源访问的多层次技术支持,做到“既能有效访问,又能严格控制”,对保护数据库商的版权和商业利益,对图书馆如何提高电子资源利用率具有很好的示范意义。

参考文献

[1] 夏志方.远程访问图书馆电子资源技术综述[J].图书情报工作,2006,50(3): 123-126.

[2] 支蕾.图书馆电子资源远程访问模式探讨[J].内蒙古科技与经济,2010,8(15): 121-124.

[3] 王寒冰.数字图书馆远程访问技术之测试分析[J].现代情报,2009,29(9):104-107.

[4] 李忠君.校外访问图书馆电子资源方式分析与比较[J].科技文献信息管理,2010 (2):4-7.

[5] 叶新明,陈光锋.校外访问代理软件的分析与比较[J].现代图书情报技术,2006(1):83-85.

[6] 彭伟.迎接电子资源的挑战:上海图书馆电子资源远程访问服务案例研究[J].图书情报工作,2009,53(1):64-68.

[7] 凌征强.高校图书馆远程访问系统实现技术研究[J].图书馆学研究,2009(5): 43-46.

[8] 闫晓弟,耶健.基于VPN的电子资源远程访问系统的研究与实现[J].情报杂志,2009,28(8):159-166.

[9] 金家琴.基于SSL VPN技术实现公共图书馆电子资源远程访问[J].图书馆杂志,2009(3):64-68.

[10] 李磊.SSL VPN技术及其在高校图书馆的应用[J].信息技术,2011(7):261.

[11] 苏明强,张凌云.高校图书馆电子资源远程访问技术分析[J].内江科技,2012(1):104-105.

[12] 高旻,刘凡儒,高健.电子资源远程访问地址重写代理EZproxy研究[J].图书馆理论与实践,2008(5):80-81.

[13] Useful Utilities EZproxy Support.http://www.ezproxy.com/support/overview.html.

[14] 李洪文.基于URL重写技术的电子资源统一授权访问系统的原理和实现[J].大学图书馆学报,2008(4):68-71.

[15] 温明章.基于开源软件的数字图书馆资源远程访问的总设计[J].现代情报,2011,31(1):63-66.endprint

2 远程透明访问电子资源系统设计与实现

2.1 开发工具和测试环境

开发工具:采用java语言编写,多线程程序设计,具有跨平台,稳定高效的特点。

测试环境:服务器端,至强CPU,3.0 G /2 M,EM64T,800 MHz前端总线,内存2GB,j2sdk;客户端,WindowsXP/IE6.0。

2.2 系统主要功能模块组成

远程透明访问电子资源系统组成如图3所示。

2.3 远程透明访问电子资源系统工作流程

远程透明访问电子资源系统原理和流程是:客户端浏览器发起http请求,在泛域名DNS的支持下(如果使用上文2.2.1(1)的URL Rewriting方式),所有代理服务器域名的链接都解析为代理服务器的IP地址,代理服务器分析http头信息,判断是否注册用户并且是否已经登录,如果符合登录用户的访问权限及下载控制策略,提取电子资源的原始地址,访问电子资源数据库Web Server,接收从web服务器返回的数据,判断是否是二进制的html,通过URL Rewriting技术,改写指定的数据库的URL,再返回客户端浏览器,其他数据如图片jpg,资源pdf文件则直接返回浏览器。原理、流程如图2所示。

2.4 用户验证模块的实现

进行多种形式的授权和身份认证,包括用户/密码;客户端IP地址;用户/密码+IP;访问时间控制;访问并发数限制等。

认证的过程是用户通过网页form或超链接向服务器提交用户名、密码等用户信息,服务器以这些信息作为条件查找用户数据库,如果能找到对应的记录,说明用户提交的登录信息正确。问题的关键是http协议是一个非链接的无状态协议,web服务器不知道正在连接的用户是否经过身份认证,要解决这个问题,首先需要在服务器端和客户端建立一一对应关系,并能保持客户状态。通常可采用cookie、session技术保持客户状态信息。

下面是IE浏览器访问服务器的hppt协议头信息(摘取部分):

GET / HTTP/1.1

Host: cs.tm.stlib.cn

Connection: Keep-Alive

此时并没有cookie的信息。

如果服务器返回请求时在http头加入如下的语句:

Set-Cookie:zhanghao= cs&mima=123; path=/

设置cookie内容为zhanghao=cs&mima=123,为说明起见,此处没有对cookie内容加密。

以后IE浏览器访问相同域名服务器时,会在hppt头信息增加下列一行:

Cookie:zhanghao=cs&mima=123

因此可把需要认证的信息,如帐号/密码,下载策略等存在cookie里,传递用户状态。如果用户禁止cookie,只能通过URL重写和表单隐藏字段的方式来传递用户状态信息了。

2.5 透明代理模块的实现

这是系统的核心,代理服务器是介于用户浏览器和资源Web服务器之间的一台服务器,浏览器的Request请求会先送到代理服务器,由代理服务器访问Web服务器,取回所需要的信息再传送给浏览器,从而解决IP限制问题。开发编程采用java.util.regex提供的标准正则表达式类库,写URL地址的匹配正则表达式,对从电子资源web服务器返回的网页内容进行搜索和替换,将改写后的网页数据返回客户端浏览器。如图4所示。

2.6 下载流量控制与事件触发功能转移模块的实现

这是本系统特色功能模块。目的是为了访问及下载的控制,做到“既能有效开放,又能严格控制”,从而保护数据库商的合法利益。功能包括:根据用户帐号的下载策略,对下载文献数量进行控制,对超数量下载、恶意下载提出警告,可自动冻结该帐号;下载时可设置触发条件,进入其它功能系统,实现相关功能。如进入收费系统,参考咨询系统,信息推送系统等。触发条件由特征字符串和对应的超链接组成,代理服务器接到浏览器请求时,首先判断是否满足触发条件:如果满足下载控制条件,则不再访问资源服务器,直接返回警告信息,并对账户作必要的处理;如果满足触发其它应用系统的条件,则进入对应的应用系统,如收费系统、参考咨询系统等。如图5所示。

2.7 系统日志模块的实现

日志内容包括:访问服务器的时间,用户的IP地址,被访问的资源名称,用户信息等。通过对日志的分析挖掘,可统计访问量,访问时间分布,访问数据库分布,用户的来源与类型等信息。

3 结语

系统具有身份认证、访问控制、透明访问功能,针对图书馆特点,与图书馆参考咨询等文献系统等应用系统的有机结合,设计了下载数量控制及事件触发功能转移功能,实现对受控电子资源访问的多层次技术支持,做到“既能有效访问,又能严格控制”,对保护数据库商的版权和商业利益,对图书馆如何提高电子资源利用率具有很好的示范意义。

参考文献

[1] 夏志方.远程访问图书馆电子资源技术综述[J].图书情报工作,2006,50(3): 123-126.

[2] 支蕾.图书馆电子资源远程访问模式探讨[J].内蒙古科技与经济,2010,8(15): 121-124.

[3] 王寒冰.数字图书馆远程访问技术之测试分析[J].现代情报,2009,29(9):104-107.

[4] 李忠君.校外访问图书馆电子资源方式分析与比较[J].科技文献信息管理,2010 (2):4-7.

[5] 叶新明,陈光锋.校外访问代理软件的分析与比较[J].现代图书情报技术,2006(1):83-85.

[6] 彭伟.迎接电子资源的挑战:上海图书馆电子资源远程访问服务案例研究[J].图书情报工作,2009,53(1):64-68.

[7] 凌征强.高校图书馆远程访问系统实现技术研究[J].图书馆学研究,2009(5): 43-46.

[8] 闫晓弟,耶健.基于VPN的电子资源远程访问系统的研究与实现[J].情报杂志,2009,28(8):159-166.

[9] 金家琴.基于SSL VPN技术实现公共图书馆电子资源远程访问[J].图书馆杂志,2009(3):64-68.

[10] 李磊.SSL VPN技术及其在高校图书馆的应用[J].信息技术,2011(7):261.

[11] 苏明强,张凌云.高校图书馆电子资源远程访问技术分析[J].内江科技,2012(1):104-105.

[12] 高旻,刘凡儒,高健.电子资源远程访问地址重写代理EZproxy研究[J].图书馆理论与实践,2008(5):80-81.

[13] Useful Utilities EZproxy Support.http://www.ezproxy.com/support/overview.html.

[14] 李洪文.基于URL重写技术的电子资源统一授权访问系统的原理和实现[J].大学图书馆学报,2008(4):68-71.

[15] 温明章.基于开源软件的数字图书馆资源远程访问的总设计[J].现代情报,2011,31(1):63-66.endprint