① cookie和session區別
1.cookie 是一種發送到客戶瀏覽器的文本串句柄,並保存在客戶機硬碟上,可以用來在某個WEB站點會話間持久的保持數據。
2.session其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。 Session其實是利用Cookie進行信息處理的,當用戶首先進行了請求後,服務端就在用戶瀏覽器上創建了一個Cookie,當這個Session結束時,其實就是意味著這個Cookie就過期了。
註:為這個用戶創建的Cookie的名稱是aspsessionid。這個Cookie的唯一目的就是為每一個用戶提供不同的身份認證。
3.cookie和session的共同之處在於:cookie和session都是用來跟蹤瀏覽器用戶身份的會話方式。
4.cookie 和session的區別是:cookie數據保存在客戶端,session數據保存在伺服器端。
簡單的說,當你登錄一個網站的時候,
· 如果web伺服器端使用的是session,那麼所有的數據都保存在伺服器上,客戶端每次請求伺服器的時候會發送當前會話的sessionid,伺服器根據當前sessionid判斷相應的用戶數據標志,以確定用戶是否登錄或具有某種許可權。由於數據是存儲在伺服器上面,所以你不能偽造,但是如果你能夠獲取某個登錄用戶的 sessionid,用特殊的瀏覽器偽造該用戶的請求也是能夠成功的。sessionid是伺服器和客戶端鏈接時候隨機分配的,一般來說是不會有重復,但如果有大量的並發請求,也不是沒有重復的可能性.
· 如果瀏覽器使用的是cookie,那麼所有的數據都保存在瀏覽器端,比如你登錄以後,伺服器設置了cookie用戶名,那麼當你再次請求伺服器的時候,瀏覽器會將用戶名一塊發送給伺服器,這些變數有一定的特殊標記。伺服器會解釋為cookie變數,所以只要不關閉瀏覽器,那麼cookie變數一直是有效的,所以能夠保證長時間不掉線。如果你能夠截獲某個用戶的 cookie變數,然後偽造一個數據包發送過去,那麼伺服器還是認為你是合法的。所以,使用 cookie被攻擊的可能性比較大。如果設置了的有效時間,那麼它會將 cookie保存在客戶端的硬碟上,下次再訪問該網站的時候,瀏覽器先檢查有沒有 cookie,如果有的話,就讀取該 cookie,然後發送給伺服器。如果你在機器上面保存了某個論壇 cookie,有效期是一年,如果有人入侵你的機器,將你的 cookie拷走,然後放在他的瀏覽器的目錄下面,那麼他登錄該網站的時候就是用你的的身份登錄的。所以 cookie是可以偽造的。當然,偽造的時候需要主意,直接 cookie文件到 cookie目錄,瀏覽器是不認的,他有一個index.dat文件,存儲了 cookie文件的建立時間,以及是否有修改,所以你必須先要有該網站的 cookie文件,並且要從保證時間上騙過瀏覽器
5.兩個都可以用來存私密的東西,同樣也都有有效期的說法,區別在於session是放在伺服器上的,過期與否取決於服務期的設定,cookie是存在客戶端的,過去與否可以在cookie生成的時候設置進去。
(1)cookie數據存放在客戶的瀏覽器上,session數據放在伺服器上
(2)cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,如果主要考慮到安全應當使用session
(3)session會在一定時間內保存在伺服器上。當訪問增多,會比較佔用你伺服器的性能,如果主要考慮到減輕伺服器性能方面,應當使用COOKIE
(4)單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能3K。
(5)所以:將登陸信息等重要信息存放為SESSION;其他信息如果需要保留,可以放在COOKIE中
② 如何設置session的有效期只能設置session.setMaxInactiveInterva
首先你要搞清楚session與cookie的關系, 客戶端每次向伺服器發起請求的時候就會帶一個cookie過去, 伺服器會判斷如果沒有jsessionid的話,就會創建一個然後再寫入cookie中,這樣就可以一直保持全會話了,若客戶端禁用了cookie那麼每次向伺服器請求,伺服器都會創建新的session, 這個session的有效期只是數據保存在伺服器的有效期,其實它就是一個map對象,但是有超時這個概念, 即創建一個對象出來,超過一定時間都沒有使用以後伺服器就會清除掉。
③ web開發中在一次會話過程中Session會發送給瀏覽器一個名為JESSIONID的Cookie,那麼該Cookie的有效期為多少
第一次訪問伺服器的時候,會在響應頭裡面看到Set-Cookie信息(只有在首次訪問伺服器的時候才會在響應頭中出現該信息)
瀏覽器會根據響應頭的set-cookie信息設置瀏覽器的cookie並保存之
注意此cookie由於沒有設置cookie有效日期,所以在關閉瀏覽器的情況下會丟失掉這個cookie。
④ Cookie的過期和Session的超時有什麼區別
Cookie的過期和Session的超時(過期),都是對某個對象設置一個時間,然後採用輪訓機制(或者首次訪問時)檢查當前對象是否超時(當前對象會保存一個開始時間),如果超時則進行移除。
cookie保存在瀏覽器中,不安全。而session是保存在服務端的。cookie的生命周期很長,而session很短,一般也就幾十分鍾。
cookie是保存在客戶端,session保存在伺服器端,cookie保存著session相關信息。
如果cookie沒有超時,那麼瀏覽器每次請求都會帶上該cookie信息,伺服器端根據cookie信息從session緩存中獲取相對應的session。這兩個信息有一個超時,用戶連接即宣告關閉。
⑤ 怎麼樣使COOKIE的有效期和SESSION一樣
Cookie: cookie存放在客戶端中,因此有效期時間以客戶端的時間為准。可以自己手動設置, Cookie cookie = new Cookie(「mycookie」,「name」); cookie.setMaxAge("自己指定的時間")。。 如果沒有指定Cookies對象的有效期,則Cookies對象只存在於
⑥ 如果客戶端cookie過期了,如何在客戶端利用其中的的sessionid繼續維持服務端的session
cookie都過期了,還能用sessionid? 難道cookie不是把sessionid和過期時間等信息放在裡面嗎?
⑦ cookies.expires的值是session是什麼意思
如果想從客戶端修改session的話,是絕對沒門的!session和cookies同樣是在客戶端存儲單用戶信息,但,不同的是,cookies以文件方式存儲於客戶端磁碟,而session以系統變數來存儲(僅在內存中)再者,cookies可以設置有效期限,而session是客戶一旦與伺服器斷開(關閉瀏覽器)session自動注銷,(就算不關閉瀏覽器,默認20分鍾session自動失效),
⑧ cookies和session的時限問題高手請近
關閉瀏覽器就會失效
而自動失效會影項到也面
的
⑨ 關於session的過期時間和cookie的過期時間,其具體意思到底是什麼
cookie的過期時間是人為指定的;可用計算出剩餘時間,php只能通過附加輔助cookie變數簡潔獲取。內
session過期時間為0,不容需要考慮。
session採用發呆時間,默認是用戶不操作超過20分鍾即失效。
⑩ 關於session和cookie
從安全上講,由於信息存儲在伺服器端,並且信息在客戶端體現為加密狀態。所以。session更可靠些。cookie則安全性不夠。但session佔用伺服器資源。而cookie更靈活些。cookie禁用,在asp中必須單獨考慮這個問題。但是在其他語言都有一些方法可以自動規避。