本发明涉及互联网技术领域,涉及留痕方法,尤指一种基于http的网站留痕方法。
背景技术:
很多金融类、交易类网站需要留存用户交易的计算机的留痕信息,包括mac地址,内网ip,硬盘序列号等。这样做主要是为了安全,事后有据可查。但是在浏览器上实现留痕却不简单。由于web标准技术是不支持这些获取留痕信息的,需要留痕的网站往往使用浏览器私有的控件技术实现留痕,如ie的activex,firefox,chrome的npapi控件技术。
传统的控件技术有以下诸多弊端:
1.控件技术起源于90年代,是一项过时的技术,逐渐被浏览器厂商淘汰。谷歌的chrome浏览器从45版本开始完全废弃了对npapi控件的支持。windows上额ie浏览器已逐渐废弃,换为新的edge浏览器。而edge浏览器不支持npapi。
2.开发实现复杂,每个浏览器都要单独实现一套。这也带来更高的维护升级成本和使用成本。
技术实现要素:
针对现有技术的缺点,本发明的目的在于提供一种基于http的网站留痕方法。该方法不依赖浏览器,使用标准web技术,容易使用。
本发明解决其技术问题所采用的技术方案是:提供一种基于http的网站留痕方法,其特征在于包括如下步骤:
一、开发一个http服务程序;
当浏览器网站需要留痕信息时,浏览器向该服务发出http请求,并把需要的留痕类型放在请求参数中;该http服务受到请求后,根据请求参数中的所需留痕类型,调用所需的系统api获得留痕信息,并把留痕信息通过http响应报文返回给网站;该http服务支持:
1.跨域;同时支持jsonp和cors两种跨域解决方法;
2.版本检测与升级;提供一个http接口返回留痕助手的版本;当网站打开的时候,网站请求这个接口;如果没有收到返回,说明没有安装留痕助手;如果返回版本过低,则提示升级;
二、升级http服务为https并配置相关域名;
将留痕http服务升级为https服务;先购买域名和https域名证书,并打包证书到留痕服务安装包中,由http服务启动的时候加载;然后,将购买的域名的dns修改为127.0.0.1,即用户本机的ip;
三、设置该http服务开机启动运行;
根据操作系统相关文档,开发服务对应的plist描述文件,通过launchctlload命令加载该描述文件,完成开机启动设置。
本发明的有益效果是:不依赖于浏览器控件的网站留痕技术。具有如下几个优势:1.使用标准的web技术,不依赖于特定的浏览器实现,浏览器支持较好。2.开发简单,只用针对不同操作系统做windows版和mac版。开发成本低。
附图说明
下面结合附图对本发明作进一步的描述。
图1是本发明的架构示意图。
具体实施方式
参见附图,本发明一种基于http的网站留痕方法,其特征在于包括如下步骤:
一、开发一个http服务程序;当浏览器网站需要留痕信息时,浏览器向该服务发出http请求,并把需要的留痕类型放在请求参数中;该http服务受到请求后,根据请求参数中的所需留痕类型,调用所需的系统api获得留痕信息,并把留痕信息通过http响应报文返回给网站;(图1)(具体留痕api请参考相应的操作系统的api文档);另外,该http服务需要支持:
1.跨域;由于需要留痕的网站的域名和本地http服务的域名是不同的,而浏览器的同源策略要求ajax请求为同一域名;这里还要解决跨域问题;这里我们同时支持jsonp和cors两种跨域解决方法;jsonp适用于老版本浏览器,如ie6;而cors适用于对h5支持比较好的浏览器,如chrome,firefox;
2.版本检测与升级;提供一个http接口(https://localhost.gf.com.cn:37001/version)返回留痕助手的版本;当网站打开的时候,网站请求这个接口;如果没有收到返回,说明没有安装留痕助手;如果返回版本过低,则提示升级;
二、升级http服务为https并配置相关域名;上述发给本地http服务的请求的主机名是本机的ip地址127.0.0.1,并且是http请求;对于https网站,浏览器要求https网站的所有请求都必须是https的;因此要将留痕http服务升级为https服务;这个步骤需要购买域名和https域名证书,并打包证书到留痕服务安装包中,由http服务启动的时候加载;然后,将购买的域名的dns修改为127.0.0.1,即用户本机的ip;
三、设置该http服务开机启动运行;mac操作系统的开机启动由launchd系统服务负责;根据操作系统相关文档,开发服务对应的plist描述文件,然后通过launchctlload命令加载该描述文件,完成开机启动设置;windows操作系统调用相关的windowsapi。
本发明的实施例中:针对广发证券的交易登陆老版本,该版本使用了浏览器控件技术。即便有了控件,接入也较为麻烦。要针对不同的浏览器提示安装不同的控件,并初始化不同的控件。新版本的chrome抛弃了npapi控件技术,使得控件在chrome上完全不能用。因此,广发自行研发了登陆助手实现交易留痕和密码加密。该软件被用在广发证券的多个网站中,如易淘金https://store.gf.com.cn,操盘手http://hippo.gf.com.cn实现交易留痕。
当用户在操盘手网站登录交易的时候,操盘手网站首先向https://localhost.gf.com.cn:37022/version发出请求,获取留痕助手版本号。(localhost.gf.com.cn是域名,该域名的解析配置为127.0.0.1,即用户本地机器的ip。)只有预装了留痕助手的机器上,才可以有这个请求的响应。当网站收到返回的版本号信息或是请求失败后,进行判断。如果用户机器上安装的留痕助手版本过低或请求失败,则提示用户下载最新版留痕助手。当用户下载并安装留痕助手后,留痕助手会在用户的机器上注册系统服务,开机启动并监听37022端口,提供https服务接口。留痕助手安装成功后,浏览器中用户再次发起交易登陆的时候,version请求验证就通过了。然后,网站会继续向本地https服务发出获取留痕信息的请求。如https://localhost.gf.com.cn:37022/getserial请求获取硬盘序列号。这个请求会被浏览器留痕助手的https服务获取。留痕助手服务调用windowsapideviceiocontrol获取序列号获得硬盘序列号,并返回给操盘手网站。操盘手网站获得留痕信息后,将该序列号作为登录请求的参数发送给操盘手后台服务器。