2022-12-27 分類: 網站建設
web程序的開發大部分都離不開session,比如用戶的登錄,注銷都要基于session的操作。php提供了一套session操作方法,往往很多開發者認為php的session是安全的,足夠解決用戶會話的安全性。其實不然,php的session僅僅提供了session的操作,并沒有安全性輔助,所以需要應用程序開發者自己提供一些機制來增強session的安全性。
眾所周知,web是基于http協議的,而http協議是無狀態的,一個請求僅對應于一個響應。要保持用戶的會話,就需要依賴其他的機制。Cookies是作為http的一個擴展誕生的,其主要用途是彌補http的無狀態特性,提供了一種保持客戶端與服務器端之間狀態的途徑,但是由于出于安全性的考慮,有的用戶在瀏覽器中是禁止掉cookie的。這種情況下,狀態信息只能通過url中的參數來傳遞到服務器端,不過這種方式的安全性很差。事實上,按照通常的想法,應該有客戶端來表明自己的身份,從而和服務器之間維持一種狀態,但是出于安全性方面的考慮,我們都應該明白來自客戶端的信息都是不能完全信任的。
session是服務端的機制,每個請求到達服務器,服務器就要對這個請求做判斷,如果存在sessionid,就將該請求判定為此sessionid持有者的會話,如果不存在sessionid,則服務器會新建一個sessionid,分配給這個訪問者,并將sessionid作為響應返回給客戶端,并存放在客戶端的cookie中,該客戶端下次的請求就包含了該sessionid,以便服務端做出判斷。
所以,sessionid一般就當作用戶識別的標志。session的安全性就比較重要了。事實上,許多情況下都有可能導致sessionid的泄露。 比如說,如果通過GET數據來傳遞sessionid的話,就有可能暴露這個敏感的身份信息。因為,有的用戶可能會將帶有sessionid的鏈接緩存,收藏或者發送在郵件內容中。Cookies是一種相對來說安全一點的機制,但是用戶是可以在客戶端中禁止掉cookies的!在一些IE的版本中也有比較嚴重的安全漏洞,比較有名的就是會泄露cookies給一些有安全隱患的邪惡站點。
雖然sessionid很難被猜測出來,但是還是有可能被攻擊者使用某些方法獲取到,比如抓包。所以,必須采取一些額外的安全措施來防止此類情況在應用程序中發生。我們可以在每次請求中附帶一個token,這個token可以由某些固定的http請求頭信息加密生成,然后對token進行校驗,來判斷請求是否合理,從而增強session的安全性。
安全性是相對的,作為開發者,只能盡可能的去提升安全性,而很難保證絕對的安全。所以,安全相關的知識,需要不斷積累,實踐。
酷站欣賞:
簡約大氣的寵物醫院網站 交互深入人心
現代簡約的建筑公司網站 整個網站給人安心舒適的感覺
本文標題:建站須知——如何增強網站安全性
文章網址:http://m.newbst.com/news5/225855.html
成都網站建設公司_創新互聯,為您提供Google、網頁設計公司、自適應網站、微信小程序、網站營銷、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容