PHP Cookie與Session的使用與區別
Warning: session_start()[function.session-start]:Cannot send session cache limiter - headers already sent (output started atC:\webserver\wwwroot\11.php:1) in C:\webserver\wwwroot\11.php on line 3 <?php session_start(); ?> 注意:該程式碼前不要有任何的程式碼,如果新建的檔案預設有的內容,要刪除。 Session_register()函式用來為會話登入一個變數來隱含地啟動會話,但要求設定php.ini檔案的選項,將register_globals指令設定為ON,然後重新啟動apache伺服器。 使用session_register()函式時,不需要呼叫session_start()函式,PHP會在註冊變數之後隱含地呼叫session_start()函式。 2) 註冊會話 會話變數被啟動後,全部儲存在陣列$_session中。通過陣列$_session建立一個會話變數很容易,只要直接給該陣列新增一個元素即可。 例: <?php session_start(); $_SESSION["admin"]=null; ?> 3) 使用會話 首先需要判斷會話變數是否有一個會話ID存在,如果不存在,就建立一個,並且使用其能夠通過全域性陣列$_SESSION進行訪問。如果已經存在,則將這個已註冊的會話變數載入以供使用者使用。 例: <?php session_start(); $_SESSION["admin"]=id; if(!empty($_SESSION["admin"])){ $myvalue=$_SESSION["admin"]; echo $myvalue; }else{ echo "該會話不存在。"; } ?> 4) 刪除會話 刪除會話的方法主要有刪除單個會話、刪除多個會話和結束當前會話的3種。 a) 刪除單個會話 刪除會話變數,同陣列的操作一樣,直接登出$_SESSION陣列的某個元素即可。 例如:登出$_SESSION[“admin”]變數,可以使用unset()函式,程式碼如下: unset($_SESSION["admin"]); b) 刪除多個會話 如果想要一次登出所有的會話變數,可以將一個空的陣列賦值給$_SESSION,程式碼如下: $_SESSION=array(); c) 結束當前的會話 如果整個會話已經結束,首先應該登出所有的會話變數,然後使用session_destroy()函式清除結束當前的會話,並清空會話中的所有資源,徹底銷燬session,程式碼如下: session_destroy(); 4、 Session的綜合應用----通過session判斷使用者的操作許可權 大多數網站的開發過程中,需要對管理員和普通使用者對操作網站的許可權進行劃分。 例:13.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> <title>用session判斷使用者操作許可權</title> <script type="text/javascript"language="javascript"> function check(){ if(form1.user.value==""){ alert("請輸入使用者名稱,謝謝!"); form1.user.focus(); return false; } if(form1.pwd.value==""){ alert("請輸入密碼,謝謝!"); form1.pwd.focus(); return false; } form1.submit(); } </script> </head> <body> <form name="form1" method="post"action="check_13.php"> 使用者名稱:<input type="text"name="user" size="20" /><br /><br /> 密 碼:<inputtype="password" name="pwd" size="21" /><br/><br /> <input type="submit" name="submit"value="提交" onclick="check()"/> <input type="reset" name="reset"value="重置" /> </form> </body> </html> check_13.php <?php session_start(); $_SESSION[user]=$_POST[user]; $_SESSION[pwd]=$_POST[pwd]; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html; charset=gb2312" /> <title>check_13.php</title> </head> <body> <?php if($_SESSION[user]==""){ echo"<script> alert('請選擇正確的登入途徑!');history.back();</script>"; } if($_SESSION[user]=="123" &&$_SESSION[pwd]=="123"){ echo "您是管理員使用者<br>"; echo "<ahref='admin.php'>請進入管理員使用者管理頁面。</a>"; }else{ echo "您是普通使用者"; echo "<ahref='user.php'>請進入普通使用者管理頁面。</a>"; } ?> <?php session_start(); unset($_SESSION[user]); unset($_SESSION[pwd]); session_destroy(); ?> </body> </html> 三、 Cookie與Session的比較 它們最大的區別是Session是將Session的資訊儲存在伺服器上,並通過一個Sessionid來傳遞客戶的資訊,同時伺服器接收到Sessionid後,根據這個ID來提供相關的Session資源;cookie是將所有的資訊以文字檔案的形式儲存在客戶端,並由瀏覽器進行管理和維護。 由於session為伺服器儲存,所以遠端使用者無法修改session檔案的內容。而cookie為客戶端儲存,所以session要比cookie安全得多。當然使用session還有很多優點,如控制容易,可以按照使用者自定義儲存(儲存於資料庫)。
相關推薦
php中cookie和session的區別與簡易用法
php cookie session 一、區別1、Cookie是完全保存在客戶端。當客戶端禁止cookie時將不能再使用;對服務端壓力較小;可以指定生存周期;安全性差。2、Session是存放在服務端的。但session id是存放在客戶端的cookie中的,但php的session存放方法是多樣
cookie與session的區別
分析 單個 session strong 使用 占用 安全性 服務器性能 存在 Cookie與session的區別; 01,Cookie的數據存放在客戶的瀏覽器上;session的數據存放在服務器上 02,Cookie不是很安全,別人可以分析存放在本地的co
簡述COOKIE和SESSION的區別與聯絡?
cookie 和session 的區別:1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session。3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺
Cookie與Session 的區別,cookie被禁用,session是否還可以被使用?
什麼是Cookie,什麼是cookie會話機制?cookie與session的區別(這裡寫自定義目錄標題) cookie的內容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構成cookie的作用範圍。 若不設定過期時間,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏
cookie與session的區別與聯絡
為什麼會有Cookie和Session的出現: TCP是無狀態的,當我們在訪問瀏覽器時,伺服器不會為客戶端儲存它上一次訪問的內容,每一次訪問都是獨立的。為了方便使用者的訪問,所以就出現了這兩個機制,使
【計算機網路】Cookie與Session的區別
Cookie與Session的區別 Cookie與Session是網路上儲存資料的兩種機制,理解這兩種方式的區別對我們提高網站執行的效率十分重要。 網站利用這兩種技術,來知道我們的登入保持狀態。比如說
淺談cookie與session的區別
cookie才用的是在客戶端保持狀態的方案(它是在使用者端的會話狀態的存貯機制),前端也可以來設定他 所有瀏覽器都識別,並且會快取在瀏覽器中。 cookie是以key=value這種鍵值對的形式儲存,每個cookie之間一般用“;”分隔,大小一般不超過4KB 下面來說下cookie與session的區別
Cookie與Session的區別?
Cookie與Session的區別? 1.Cookie 與Session 都是會話技術,Cookie是執行在客戶端,Session執行在服務端。 2.Cookie有大小限制,以及瀏覽器在存Cookie的個數也有限制,Session是沒有大小限制和伺服器的記憶體大小有關。 3.Cookie有安全隱患,通過
Cookie與session的區別及其常見面試問題
一、Cookie技術Cookie技術是將使用者的資料儲存到客戶端的技術,我們分為兩方面學習:第一,伺服器端怎樣將一個Cookie傳送到客戶端第二,伺服器端怎樣接受客戶端攜帶的Cookie1.伺服器端向客戶端傳送一個Cookie 1)建立Cookie: Co
JSESSIONID、cookie與SESSION的區別和聯絡 同名JSESSIONID處理
在一些投票之類的場合,我們往往因為公平的原則要求每人只能投一票,在一些WEB開發中也有類似的情況,這時候我們通常會使用COOKIE來實現,例如如下的程式碼: < % cookie[]cookies = request.getCookies(); if (cookies
Cookie與Session的區別與聯絡及生命週期
前幾天面試問了一個問題,當時記不太清了,上網查了下發現這個問題還真的很有講究而且很重要,自己總結下做下記錄。 一、Session與Cookie介紹 這些都是基礎知識,不過有必要做深入瞭解。先簡單介紹一下。 二者的定義: 當你在瀏覽網站的時候,WEB
cookie與session的區別與關系
就是 瀏覽器中 存儲 val 字典 set sessionid 服務 不同 cookie與session的區別 1. 存儲位置不同 cookie存儲在瀏覽器中 session存儲在服務端裏 2. 大小不同 cookie最大4K session由於
cookies與session的區別
作用 enables 自動 購物 一段 通知 use 登錄 sessions HTTP協議是無狀態的協議,所以服務端需要記錄用戶的狀態時,就需要用某種機制來識具體的用戶,這個機制就是Session。 當程序需要為某個客戶端的請求創建一個session的時候,服
cookie、session與使用者認證元件
1.cookie def login(request): if request.method == "GET": return render(request,"login.html") else: user = request.POST.get("use
PHP中cookie跟session的區別
1、cookie只能儲存字串,session不僅僅是字串,還可以是物件,布林值等等基本資料型別 2、cookie是儲存在客戶端的,session是儲存在伺服器端的 3、生命週期不同,同一個cookie檔案可以有多個鍵值對並且設定不同的過期時間,而session是統一的時間控制Sessio
Token 與 Session 相關區別
1. 為什麼要有session的出現? 答:是由於網路中http協議造成的,因為http本身是無狀態協議,這樣,無法確定你的本次請求和上次請求是不是你傳送的。如果要進行類似論壇登陸相關的操作,就實現不了了。 2. session生成方式? 答:瀏覽器第一次訪問伺服器,伺服器
快取(cache與session的區別)
快取主要是為了提高資料的讀取速度。因為伺服器和應用客戶端之間存在著流量的瓶頸,所以讀取大容量資料時,使用快取來直接為客戶端服務,可以減少客戶端與伺服器端的資料互動,從而大大提高程式的效能。 本章從快取所在的名稱空間“System.Web.Caching”開始,詳細介紹框架提
【WEB前端】COOKIES與SESSION的區別
寫在前面的 對WEB前端的知識回顧的當中,覺得COOKIES和SEESION的應用層面有些相似,但是具體怎樣卻不是很清楚,下面就來總結一下這兩個東西的共同點和區別,幫助自己能夠更好的掌握這些基礎
cookie 和session 的區別詳解
重復 處理方式 一行 所有 有效 依據 是把 存儲 一個 二者的定義: 當你在瀏覽網站的時候,WEB 服務器會先送一小小資料放在你的計算機上,Cookie 會幫你在網站上所打的文字或是一些選擇, 都紀錄下來。當下次你再光臨同一個網站,WEB 服務器會先看看有沒有它上次留下的
cookie和session的區別
開發人員 一個 客戶端 匹配 也會 自己 ssi 成了 本地 幾乎每個web開發人員都會問Cookie和Session有什麽聯系和區別 拋出問題: 1.首先服務器是無記性的,不知道那個客戶端上過自己的網站; 2.如果不手動添加記憶功能,那麽每次訪問都需要登錄,豈不是很麻煩?