Cookie
調(diào)用Cookie時,由于可校驗Cookie的有效期,以及發(fā)送方的域,路徑,協(xié)議等信息,所以正規(guī)發(fā)布的Cookie里面的內(nèi)容不會因來自其他web站點和攻擊者的攻擊而泄露。
Set-Cookie --- 開始狀態(tài)管理所使用的Cookie信息 --- 響應(yīng)首部字段
Cookie --- 服務(wù)器所收到的Cookie信息 --- 請求首部字段
Set-Cookie: status=enable; expires=tue,05 Jul 2011 07:26:31 GMT; path=/; damain=.hackr.jp;
secure屬性:用于限制web頁面只在HTTPS安全鏈接時才可以發(fā)送Cookie;
Set-Cookie: name=value; secure
HttpOnly屬性
擴展屬性,利用javascript腳本無法獲取Cookie,防止跨站腳本攻擊(Cross-site scripting,XSS)對Cookie信息的竊取。
HTTP的不足:
①通信使用明文,不加密,內(nèi)容有可能會被監(jiān)聽;
②不驗證通信方身份,有可能遭到偽裝;
③無法驗證報文的完整性,所以有可能已遭篡改;
這些問題不僅在HTTP中出現(xiàn),在其他未加密的協(xié)議中也會出現(xiàn)類似的問題。
SSL + HTTP = HTTPS(HTTP over SSL) SSL(secure socket layer,安全套接層)
HTTP協(xié)議的實現(xiàn)本身非常簡單,無論誰發(fā)送過來的請求都會返回響應(yīng),因此不確認通信方,會存在以下隱患:
- 無法確定請求發(fā)送至目標的服務(wù)器是否按照真實意圖返回響應(yīng)的那臺服務(wù)器,有可能是已偽裝的服務(wù)器;
- 無法確定響應(yīng)返回到的客戶端是否按照真實意圖接收響應(yīng)的那個客戶端,有可能是已偽裝的客戶端;
- 無法確定通信雙方是否具備訪問權(quán)限。因為某些web服務(wù)器上保存這重要的信息,只想發(fā)給特定用戶通信的權(quán)限;
- 無法判定請求來自何方,出自誰手;
- 即使無意義的請求也會照單全收。無法阻止海量請求下的DoS攻擊(Denial of Service,拒絕服務(wù)攻擊);
- 無法查明對手的證書。
把添加了加密及認證機制的HTTP稱為HTTPS HTTP+通信加密+證書+完整性保護。
HTTP+SSL/TSL 通常HTTP直接和TCP通信,當使用SSL時,變?yōu)橄群蚐SL通信,再由SSL和TCP通信。