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