1. 程式人生 > >無法獲得使用者定位資訊的解決辦法和建立HTTPS的方法

無法獲得使用者定位資訊的解決辦法和建立HTTPS的方法

無法獲得使用者定位資訊的原因

近期很多開發者提問這個問題:為什麼以前可以獲得使用者定位資訊的方法,現在不管用了。

究其原因,是定位資訊提供商(比如百度地圖)不再支援在HTTP協議下返回這類敏感資訊,而是要求必須在HTTPS協議下才會返回。這在一些返回詳細錯誤原因的情況下,已有明確提示。

再看下相關訊息:

隨著國內搜尋引擎巨頭百度啟用全站https加密服務來解決“第三方”對使用者隱私的嗅探和劫持,全國掀起了網站https加密浪潮。谷歌作為推動網站https加密的先驅,早在2010年5月份便開始提供https加密搜尋服務。谷歌在演算法更新中則表示:“同等條件下,使用https加密技術的站點在搜尋排名上更具優勢”。

很顯然,相關的知名廠商們都在通過各種方法促使站長們轉向採用HTTPS協議。

推行HTTPS的原因

為什麼呢? 其實原因很多。

HTTPS與HTTP的區別及其優勢

  • http:是網際網路上應用最為廣泛的一種網路協議,是一個客戶端和伺服器端請求和應答的標準(TCP),用於從WWW伺服器傳輸超文字到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網路傳輸減少。

  • https:是以安全為目標的http通道,簡單講是http的安全版。https的安全基礎是ssl證書,因此加密的詳細內容就需要ssl證書。https協議的主要作用可以分為兩種:一種是建立一個資訊保安通道,來保證資料傳輸的安全;另一種就是確認網站的真實性。

http協議傳輸的資料都是未加密的,也就是明文的,而且無狀態,因此使用http協議傳輸隱私資訊非常不安全。為了保證這些隱私資料能加密傳輸,於是網景公司設計了SSL(安全套接層,Secure Sockets Layer)協議用於對http協議傳輸的資料進行加密,從而就誕生了https,https就是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議。

HTTP工作過程

  https加密、解密、及驗證過程如下圖:
HTTPS工作流程
簡單來說,https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全。

SSL的作用

  1. 認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器;
  2. 加密資料以防止資料中途被竊取;
  3. 維護資料的完整性,確保資料在傳輸過程中不被改變。

SSL證書指的是在SSL通訊中驗證通訊雙方身份的數字檔案,一般分為伺服器證書和客戶端證書,我們通常說的SSL證書主要指伺服器SSL證書。SSL證書由受信任的數字證書頒發機構CA在驗證伺服器身份後頒發,具有伺服器身份驗證和資料傳輸加密功能。分為擴充套件驗證型EV SSL證書、組織驗證型OV SSL證書、和域名驗證型DV SSL證書。

在網上進行購物交易活動中,必須保證交易雙方能夠互相確認身份,安全地傳輸敏感資訊,事後不能否認交易行為,同時還要防止他人截獲篡改寶貴資訊或假冒交易方。那麼,我們該如何提高站點資訊的安全性呢?目前最簡單的解決方案就是利用ssl安全技術來實現WEB的安全訪問。

HTTP和HTTPS使用上的差異

從表面使用上來說,除了HTTP和HTTPS使用了不同的預設埠之外(http是80埠,https是443埠),其它沒什麼額外變化,開發者為HTTP開發的大部分應用,原封不動即可在HTTPS上使用。HTTPS只是在底層的傳輸上自己去做了與HTTP不同的事情。當然,如果你的應用指定了埠的話,要記得改成HTTPS所指定的埠(你也可以把80埠讓給HTTPS,徹底幹掉HTTP)。

如何轉到HTTPS協議

HTTPS協議需要先到CA機構申請SSL證書。SSL證書分免費和高階兩種:

  1. 免費SSL證書:諸如個人部落格之類的小型站點可以申領3年期的免費SSL證書,證書到期後可以免費續期。支援繫結多個域名、支援證書狀態線上查詢協議(OCSP)、支援中文、全球瀏覽器信任。

  2. 高級別SSL證書:大中型網站,如網上銀行、購物網站、金融證券、政府機構等需要申領高級別SSL證書,並需要一定費用。

SSL證書申請使用步驟

  1. 製作CSR檔案。
    所謂CSR就是由申請人制作的Certificate Secure Request證書請求檔案。製作過程中,系統會產生2個金鑰,一個是公鑰就是這個CSR檔案,另外一個是私鑰,存放在伺服器上。要製作CSR檔案,申請人可以參考WEB SERVER的文件,一般APACHE等,使用OPENssl命令列來生成KEY+CSR2個檔案,Tomcat,JBoss,Resin等使用KEYTOOL來生成JKS和CSR檔案,IIS通過嚮導建立一個掛起的請求和一個CSR檔案。

  2. CA認證。
    將CSR提交給CA,CA一般有2種認證方式:

    1. 域名認證:一般通過對管理員郵箱認證的方式,這種方式認證速度快,但是簽發的證書中沒有企業的名稱,不適用於高級別SSL證書的申請;

    2. 企業文件認證:需要提供企業的營業執照。

    3. 同時認證以上兩種方式的證書,叫EV SSL證書,這種證書可以使IE7以上的瀏覽器位址列變成綠色,所以認證也最嚴格,適於大中型網站採用。

  3. 證書安裝。
    在收到CA的證書後,可以將證書部署到伺服器上。

    1. APACHE伺服器:直接將KEY+CER複製到APACHE檔案上,然後修改httpD.CONF檔案;

    2. TOMCAT等:需要將CA簽發的證書CER檔案匯入JKS檔案後,複製到伺服器上,然後修改SERVER.XML;

    3. IIS:需要處理掛起的請求,將CER檔案匯入。

原因總結

  1. HTTPS可以通過加密防止在傳輸中間的第三方截獲HTTP明文,以減少對網站與使用者雙方產生不安全因素。
  2. 可以確認網站和使用者雙方的身份,保證獲取資訊或進行交易時的可靠性。
  3. 對網站進行備案式的管理,便於找到負責人。
  4. 對大中型網站來說,可以減少釣魚網站的冒充干擾,同時也是一種身份式的廣告。
  5. 對服務提供商來說,既可以解決使用者和網站們的抱怨,又可以蒐集掌握大量資訊,還可以收入一筆服務費用。
  6. 對下級產業鏈來說,增加了一項營收業務。

所以呢,於是HTTPS自然也就是“大勢所趨”了。各位,你可以懶惰不管明文與否,但架不住各種服務提供商的“拒絕服務”的催逼吧?比如,獲取使用者定位資訊是不是就不行了?和WINXP使用者被四方催逼的情況與原因何其相似?

So,move,move. 該領免費的,還是讓單位掏錢或自掏腰包的,走起吧。