app 測試不同點,
IOS 和 android 區別
發布版本流程
加密方式有哪些,如何進行加密比如銀行卡號
http 和 https
超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站服務器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。
為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS,為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證服務器的身份,並為瀏覽器和服務器之間的通信加密。
HTTP協議作為TCP/IP模型中應用層的協議也不例外。HTTP協議通常承載於TCP協議之上,有時也承載於TLS或SSL協議層之上,這個時候,就成了我們常說的HTTPS
HTTP與HTTPS有什么區別?
HTTP協議傳輸的數據都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私信息非常不安全,為了保證這些隱私數據能加密傳輸,於是網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。簡單來說,HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比http協議安全。
HTTPS和HTTP的區別主要如下:
1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
2、http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
4、http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。
HTTPS的工作原理
我們都知道HTTPS能夠加密信息,以免敏感信息被第三方獲取,所以很多銀行網站或電子郵箱等等安全級別較高的服務都會采用HTTPS協議。
客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟,如圖所示。
(1)客戶使用https的URL訪問Web服務器,要求與Web服務器建立SSL連接。
(2)Web服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。
(3)客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。
(4)客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然后利用網站的公鑰將會話密鑰加密,並傳送給網站。
(5)Web服務器利用自己的私鑰解密出會話密鑰。
(6)Web服務器利用會話密鑰加密與客戶端之間的通信。
SSL 證書
從前面我們可以了解到HTTPS核心的一個部分是數據傳輸之前的握手,握手過程中確定了數據加密的密碼。在握手過程中,網站會向瀏覽器發送SSL證書,SSL證書和我們日常用的身份證類似,是一個支持HTTPS網站的身份證明,SSL證書里面包含了網站的域名,證書有效期,證書的頒發機構以及用於加密傳輸密碼的公鑰等信息,由於公鑰加密的密碼只能被在申請證書時生成的私鑰解密,因此瀏覽器在生成密碼之前需要先核對當前訪問的域名與證書上綁定的域名是否一致,同時還要對證書的頒發機構進行驗證,如果驗證失敗瀏覽器會給出證書錯誤的提示。在這一部分我將對SSL證書的驗證過程以及個人用戶在訪問HTTPS網站時,對SSL證書的使用需要注意哪些安全方面的問題進行描述。
證書的類型
實際上,我們使用的證書分很多種類型,SSL證書只是其中的一種。證書的格式是由X.509標准定義。SSL證書負責傳輸公鑰,是一種PKI(Public Key Infrastructure,公鑰基礎結構)證書。 我們常見的證書根據用途不同大致有以下幾種:
- 1、SSL證書,用於加密HTTP協議,也就是HTTPS。
- 2、代碼簽名證書,用於簽名二進制文件,比如Windows內核驅動,Firefox插件,Java代碼簽名等等。
- 3、客戶端證書,用於加密郵件。
- 4、雙因素證書,網銀專業版使用的USB Key里面用的就是這種類型的證書。
這些證書都是由受認證的證書頒發機構——我們稱之為CA(Certificate Authority)機構來頒發,針對企業與個人的不同,可申請的證書的類型也不同,價格也不同。CA機構頒發的證書都是受信任的證書,對於SSL證書來說,如果訪問的網站與證書綁定的網站一致就可以通過瀏覽器的驗證而不會提示錯誤。
SSL證書申請與規則
SSL證書可以向CA機構通過付費的方式申請,也可以自己制作。 CA機構頒發的證書價格非常昂貴,而且有效期一般只有一年到三年不等(年數不同,價格也不同),過期之后還要再次交錢申請,因此一般只有企業才會申請證書。但是隨着個人網站的增多,目前也有針對個人的SSL證書服務,價格相對便宜一些,國內的話400多塊錢就能申請到一個,國外更是有免費的SSL證書可以申請。 在申請SSL證書時需要向CA機構提供網站域名,營業執照,以及申請人的身份信息等。網站的域名非常重要,申請人必須證明自己對域名有所有權,如果支持Hotmail.com,Gmail.com的SSL證書都可以隨便申請,黑客們就不用做假證書欺騙了。
SSL證書簽發機構
簽發主流機構:Symantec、Thawte、GeoTrust、GlobalSign等。目前網站用的這幾種證書較多,比如前三種國內天威誠信CA可以頒發
國內一共多三十多家數字證書頒發機構CA,開展有SSL證書業務的有沃通CA,CFCA,上海CA,廣東CA等,其中沃通CA是SSL證書行業里做的比較早的CA機構,其次就是CFCA,主要做金融業務領域。
CA認證
電子商務認證授權機構(CA, Certificate Authority),也稱為電子商務認證中心,是負責發放和管理數字證書的權威機構,並作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。
玖財通用的證書是GeoTrust SSL證書
GeoTrust是全球第二大數字證書頒發機構(CA),Symantec(賽門鐵克)旗下 SSL 證書品牌,GeoTrust品牌的SSL證書是一款優質、高性價比的產品。不限制服務器安裝數量,兼容流行的操作系統和瀏覽器等特點,使得GeoTrust已成為互聯網、IT行業等企業的優選產品。
http 信息頭
HTTP請求頭
HTTP響應頭
TCP/IP協議與Http協議的區別
TPC/IP協議是傳輸層協議,主要解決數據如何在網絡中傳輸,而HTTP是應用層協議,主要解決如何包裝數據。關於TCP/IP和HTTP協議的關系,網絡有一段比較容易理解的介紹:“我們在傳輸數據時,可以只使用(傳輸層)TCP/IP協議,但是那樣的話,如果沒有應用層,便無法識別數據內容,如果想要使傳輸的數據有意義,則必須使用到應用層協議,應用層協議有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協議。WEB使用HTTP協議作應用層協議,以封裝HTTP 文本信息,然后使用TCP/IP做傳輸層協議將它發到網絡上。”
支付功能測試考慮點
支付功能在很多軟件應用中常常涉及到。支付功能的測試關注點是有沒有出現資損 和事務的一致性。
一、在支付金額上
1、金額的最小值 :如0.01
2、無實際支付意義的金額:如0元訂單
3、支付金額錯誤:格式錯誤 、數字錯誤(支付金額為負數)
3、超大金額 :設置的最高金額上限。(如微信紅包單個最大值為200等)
4、余額小於實際需要支付的金額
5、銀行卡或其他設置當日消費金額或者是單筆消費金額超限
二、支付接口上
關於支付會設計到很多第三方接口的相關的事件。比如:支付寶 、微信、網銀系統 、手機銀行、POS機的終端服務 甚至是 掃碼槍 等硬件設備也是有關系的。
三、支付的操作問題上
1、指紋支付
2、免密支付
3、賬號+密碼支付
4、動態獲取支付驗證碼支付
5、銀行卡號+密碼綁定支付
6、信用卡可能會設計到支付碼等
如今的支付方式多樣化、快捷支付和銀行卡支付之間的差異性。信用卡和普通儲蓄卡之間的差異處。等都是需要考慮的。
四、產品的容錯性上(異常處理)
1、如何處理退款
2、支付時出現斷網
3、支付失敗之后 如何補單和退單
4、支付金額不足的情況下 ,充值后 是否可以繼續支付
5、持續點擊 是否會出現多次扣款
6、如果發生多次扣款,如何退款到支付賬號
五、產品后台處理上
成功訂單的賬務處理、失敗訂單的賬務處理、退款訂單的賬務處理、差錯賬處理等等