亚洲高清,国产又粗又猛又爽又黄三D卡通片,亚洲中文字幕第一页,亚洲骚女一区二区在线

  • <u id="4kkvp"><bdo id="4kkvp"></bdo></u>
  • <i id="4kkvp"></i>

  • <u id="4kkvp"></u>

    <i id="4kkvp"><bdo id="4kkvp"></bdo></i>
  • <u id="4kkvp"></u>

  • 會話安全

    • 2020-09-14 10:41:49
    • 閱讀次數(shù):次
    • 作者:盈嵐科技小編
    • 來源:http://linjicha.cn

    做網(wǎng)站中,PHP不能保證會話信息只能被會話者看到。根據(jù)其存放的數(shù)據(jù),還需要采取更多措施來主動保護會話的完整性。當(dāng)然這些做法會降低用戶的方便程度。

    下面行為都會將會話ID泄露給第三方,使第三方能夠訪問所有與指定ID相關(guān)聯(lián)的資源。   

    ?URL攜帶會話ID。如果連接到外部站點,包含有會話ID的URL可能會被存在外部站點的引用日志中。   

    ?如果會話ID未加密,以明文方式在網(wǎng)絡(luò)中傳輸,就很容易被第三方監(jiān)聽到。在默認情況下,所有與特定會話相關(guān)的數(shù)據(jù)都被存儲在由配置選項session.save_path指定的目錄下的一個文件中。對每個會話會建立一個文件。這是由于每打開一個會話即建立一個文件,不論是否有數(shù)據(jù)寫入到該文件中。為此用戶需要學(xué)習(xí)和使用會話加密方法,具體說明如下。   

    ?session_encode:對Session信息進行編碼。

    string session_encode(void);

    該函數(shù)返回的字符串中包含全局變量中各變量的名稱與值,如a|s:12:"it is a test";c|s:4:"lala";。a是變量名,s:12代表變量a的值"it is a test"的長度是12,變量間用分號“;”分隔。   

    ?session_decode:對Session信息進行解碼。boolean session_decode (string data)

    該函數(shù)可對Session信息進行解碼,成功則返回邏輯值true。PHP 5不再使用session_id,而是把它變成一個常量SID,并保存在Cookie中。如果客戶端禁用了Cookie,PHP會自動通過URL自動傳動SID,其條件是設(shè)置php.ini中的ses-sion.use_trans_sid = 1。最后使用strip_tags()輸出SID,以避免XSS相關(guān)的攻擊。很多PHP開發(fā)人員喜歡使用Session會話變量,大量使用會話變量能夠幫助你設(shè)計更多人性化的功能。仔細分析原因:   

    ?傳遞簡單。在Web應(yīng)用程序內(nèi)的頁面間傳遞一個變量值,使用Session變量要比通過查詢字符串傳遞變量值更簡單。   

    ?使用方便。讀者可以在任何時候直接使用Session變量。   

    ?更容易設(shè)計出針對不同用戶的設(shè)計體驗。Web設(shè)計的趨勢就是要以用戶體驗為中心,自然使用Session變量是最佳選擇。但是當(dāng)初學(xué)者逐漸掌握Session的使用時,也應(yīng)該注意幾個問題,避免在開發(fā)中亂用Session變量。   

    ?Session過于依賴進程。Session狀態(tài)存儲在服務(wù)器的進程中。所以當(dāng)inetinfo.exe進程崩潰時,Session會話信息就會全部丟失。   

    ?Session過于依賴Cookie。用戶會話信息都存儲在Cookie中,如果客戶端完全禁用掉了Cookie功能,Session提供的功能也就自然失效了。   

    ?Session作用域的局限性。用戶會話信息不能夠?qū)崿F(xiàn)應(yīng)用程序之間遷移。例如,百度網(wǎng)站的Web服務(wù)器可能不止一個,當(dāng)用戶登錄其中一個頻道之后,可能需要去各個頻道中瀏覽,但是每個頻道都在不同的服務(wù)器上,如果想在這些Web服務(wù)器共享Session會話信息就是一個很麻煩的問題。   

    ?任何變量和對象都會占用系統(tǒng)資源。Session變量同樣需要有單獨的運行時間和存儲空間。過多地使用Session變量就會導(dǎo)致大量代碼冗余,并且使服務(wù)器運行成本提高。   

    ?當(dāng)一個用戶訪問某個頁面時,每個Session變量的運行環(huán)境便自動生成,這些Session變量可能會在用戶離開該頁面后仍然保留,直到有效期過后。這必然構(gòu)成對用戶安全的威脅。同時,如果在Session中存儲較大的對象(如ADO組件中的Recordsets、Connections對象等),當(dāng)站點訪問量增大時,服務(wù)器將會因此而無法正常運行。   ?由于創(chuàng)建Session變量比較隨意,可隨時調(diào)用,不需要開發(fā)者去聲明,所以過度使用Session變量將會導(dǎo)致代碼閱讀性差,而且不好維護。鑒于PHP提供的Session變量存在很多局限性,使得PHP中Session成為了一個更加強大的功能。但是在PHP中,個人建議你要少用Session,只有在必要時選擇使用,以簡化Web開發(fā)。


    當(dāng)前文章標(biāo)題:會話安全

    當(dāng)前URL:http://linjicha.cn/news/wzzz/3276.html

    上一篇:設(shè)置會話有效期

    下一篇:認識Cookie

    網(wǎng)站建設(shè)、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專線:15368242187(微信同號)