<output id="jbxdv"></output>

      1. 會話安全

        • 2020-09-14 10:41:49
        • 閱讀次數:
        • 作者:盈嵐科技小編
        • 來源:http://www.freenetsites.com

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

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

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

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

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

        string session_encode(void);

        該函數返回的字符串中包含全局變量中各變量的名稱與值,如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)

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

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

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

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

        ?Session過于依賴進程。Session狀態存儲在服務器的進程中。所以當inetinfo.exe進程崩潰時,Session會話信息就會全部丟失。   

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

        ?Session作用域的局限性。用戶會話信息不能夠實現應用程序之間遷移。例如,百度網站的Web服務器可能不止一個,當用戶登錄其中一個頻道之后,可能需要去各個頻道中瀏覽,但是每個頻道都在不同的服務器上,如果想在這些Web服務器共享Session會話信息就是一個很麻煩的問題。   

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

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


        當前文章標題:會話安全

        當前URL:http://www.freenetsites.com/news/wzzz/3276.html

        上一篇:設置會話有效期

        下一篇:認識Cookie

        網站建設、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專線:15368242187(微信同號)
        国产成人亚洲综合无码
        <output id="jbxdv"></output>