本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,涉及留痕方法,尤指一種基于http的網(wǎng)站留痕方法。
背景技術(shù):
很多金融類、交易類網(wǎng)站需要留存用戶交易的計算機的留痕信息,包括mac地址,內(nèi)網(wǎng)ip,硬盤序列號等。這樣做主要是為了安全,事后有據(jù)可查。但是在瀏覽器上實現(xiàn)留痕卻不簡單。由于web標準技術(shù)是不支持這些獲取留痕信息的,需要留痕的網(wǎng)站往往使用瀏覽器私有的控件技術(shù)實現(xiàn)留痕,如ie的activex,firefox,chrome的npapi控件技術(shù)。
傳統(tǒng)的控件技術(shù)有以下諸多弊端:
1.控件技術(shù)起源于90年代,是一項過時的技術(shù),逐漸被瀏覽器廠商淘汰。谷歌的chrome瀏覽器從45版本開始完全廢棄了對npapi控件的支持。windows上額ie瀏覽器已逐漸廢棄,換為新的edge瀏覽器。而edge瀏覽器不支持npapi。
2.開發(fā)實現(xiàn)復(fù)雜,每個瀏覽器都要單獨實現(xiàn)一套。這也帶來更高的維護升級成本和使用成本。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種基于http的網(wǎng)站留痕方法。該方法不依賴瀏覽器,使用標準web技術(shù),容易使用。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種基于http的網(wǎng)站留痕方法,其特征在于包括如下步驟:
一、開發(fā)一個http服務(wù)程序;
當(dāng)瀏覽器網(wǎng)站需要留痕信息時,瀏覽器向該服務(wù)發(fā)出http請求,并把需要的留痕類型放在請求參數(shù)中;該http服務(wù)受到請求后,根據(jù)請求參數(shù)中的所需留痕類型,調(diào)用所需的系統(tǒng)api獲得留痕信息,并把留痕信息通過http響應(yīng)報文返回給網(wǎng)站;該http服務(wù)支持:
1.跨域;同時支持jsonp和cors兩種跨域解決方法;
2.版本檢測與升級;提供一個http接口返回留痕助手的版本;當(dāng)網(wǎng)站打開的時候,網(wǎng)站請求這個接口;如果沒有收到返回,說明沒有安裝留痕助手;如果返回版本過低,則提示升級;
二、升級http服務(wù)為https并配置相關(guān)域名;
將留痕http服務(wù)升級為https服務(wù);先購買域名和https域名證書,并打包證書到留痕服務(wù)安裝包中,由http服務(wù)啟動的時候加載;然后,將購買的域名的dns修改為127.0.0.1,即用戶本機的ip;
三、設(shè)置該http服務(wù)開機啟動運行;
根據(jù)操作系統(tǒng)相關(guān)文檔,開發(fā)服務(wù)對應(yīng)的plist描述文件,通過launchctlload命令加載該描述文件,完成開機啟動設(shè)置。
本發(fā)明的有益效果是:不依賴于瀏覽器控件的網(wǎng)站留痕技術(shù)。具有如下幾個優(yōu)勢:1.使用標準的web技術(shù),不依賴于特定的瀏覽器實現(xiàn),瀏覽器支持較好。2.開發(fā)簡單,只用針對不同操作系統(tǒng)做windows版和mac版。開發(fā)成本低。
附圖說明
下面結(jié)合附圖對本發(fā)明作進一步的描述。
圖1是本發(fā)明的架構(gòu)示意圖。
具體實施方式
參見附圖,本發(fā)明一種基于http的網(wǎng)站留痕方法,其特征在于包括如下步驟:
一、開發(fā)一個http服務(wù)程序;當(dāng)瀏覽器網(wǎng)站需要留痕信息時,瀏覽器向該服務(wù)發(fā)出http請求,并把需要的留痕類型放在請求參數(shù)中;該http服務(wù)受到請求后,根據(jù)請求參數(shù)中的所需留痕類型,調(diào)用所需的系統(tǒng)api獲得留痕信息,并把留痕信息通過http響應(yīng)報文返回給網(wǎng)站;(圖1)(具體留痕api請參考相應(yīng)的操作系統(tǒng)的api文檔);另外,該http服務(wù)需要支持:
1.跨域;由于需要留痕的網(wǎng)站的域名和本地http服務(wù)的域名是不同的,而瀏覽器的同源策略要求ajax請求為同一域名;這里還要解決跨域問題;這里我們同時支持jsonp和cors兩種跨域解決方法;jsonp適用于老版本瀏覽器,如ie6;而cors適用于對h5支持比較好的瀏覽器,如chrome,firefox;
2.版本檢測與升級;提供一個http接口(https://localhost.gf.com.cn:37001/version)返回留痕助手的版本;當(dāng)網(wǎng)站打開的時候,網(wǎng)站請求這個接口;如果沒有收到返回,說明沒有安裝留痕助手;如果返回版本過低,則提示升級;
二、升級http服務(wù)為https并配置相關(guān)域名;上述發(fā)給本地http服務(wù)的請求的主機名是本機的ip地址127.0.0.1,并且是http請求;對于https網(wǎng)站,瀏覽器要求https網(wǎng)站的所有請求都必須是https的;因此要將留痕http服務(wù)升級為https服務(wù);這個步驟需要購買域名和https域名證書,并打包證書到留痕服務(wù)安裝包中,由http服務(wù)啟動的時候加載;然后,將購買的域名的dns修改為127.0.0.1,即用戶本機的ip;
三、設(shè)置該http服務(wù)開機啟動運行;mac操作系統(tǒng)的開機啟動由launchd系統(tǒng)服務(wù)負責(zé);根據(jù)操作系統(tǒng)相關(guān)文檔,開發(fā)服務(wù)對應(yīng)的plist描述文件,然后通過launchctlload命令加載該描述文件,完成開機啟動設(shè)置;windows操作系統(tǒng)調(diào)用相關(guān)的windowsapi。
本發(fā)明的實施例中:針對廣發(fā)證券的交易登陸老版本,該版本使用了瀏覽器控件技術(shù)。即便有了控件,接入也較為麻煩。要針對不同的瀏覽器提示安裝不同的控件,并初始化不同的控件。新版本的chrome拋棄了npapi控件技術(shù),使得控件在chrome上完全不能用。因此,廣發(fā)自行研發(fā)了登陸助手實現(xiàn)交易留痕和密碼加密。該軟件被用在廣發(fā)證券的多個網(wǎng)站中,如易淘金https://store.gf.com.cn,操盤手http://hippo.gf.com.cn實現(xiàn)交易留痕。
當(dāng)用戶在操盤手網(wǎng)站登錄交易的時候,操盤手網(wǎng)站首先向https://localhost.gf.com.cn:37022/version發(fā)出請求,獲取留痕助手版本號。(localhost.gf.com.cn是域名,該域名的解析配置為127.0.0.1,即用戶本地機器的ip。)只有預(yù)裝了留痕助手的機器上,才可以有這個請求的響應(yīng)。當(dāng)網(wǎng)站收到返回的版本號信息或是請求失敗后,進行判斷。如果用戶機器上安裝的留痕助手版本過低或請求失敗,則提示用戶下載最新版留痕助手。當(dāng)用戶下載并安裝留痕助手后,留痕助手會在用戶的機器上注冊系統(tǒng)服務(wù),開機啟動并監(jiān)聽37022端口,提供https服務(wù)接口。留痕助手安裝成功后,瀏覽器中用戶再次發(fā)起交易登陸的時候,version請求驗證就通過了。然后,網(wǎng)站會繼續(xù)向本地https服務(wù)發(fā)出獲取留痕信息的請求。如https://localhost.gf.com.cn:37022/getserial請求獲取硬盤序列號。這個請求會被瀏覽器留痕助手的https服務(wù)獲取。留痕助手服務(wù)調(diào)用windowsapideviceiocontrol獲取序列號獲得硬盤序列號,并返回給操盤手網(wǎng)站。操盤手網(wǎng)站獲得留痕信息后,將該序列號作為登錄請求的參數(shù)發(fā)送給操盤手后臺服務(wù)器。