1 / 32

PHP Session 與 Cookie

PHP Session 與 Cookie . 教材. 葉建榮 著( 2010 ), PHP6 與 MySQL 基礎學習教室, 上奇資訊股份有限公司, ISBN 9789862570500 (書號 HB1004 ) 陳會安 著( 2013 ), PHP+MySQL 與 jQuery Mobile 跨行動裝置網站開發, 碁峰資訊股份有限公司, ISBN 9789862768563 (書號 ACL037900 ). 大綱. Session Cookie. Session. Web 是沒有狀態的 ! Stateless

yuval
Download Presentation

PHP Session 與 Cookie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PHPSession 與 Cookie

  2. 教材 葉建榮 著(2010), PHP6 與 MySQL 基礎學習教室, 上奇資訊股份有限公司, ISBN 9789862570500 (書號 HB1004) 陳會安 著(2013), PHP+MySQL 與 jQuery Mobile 跨行動裝置網站開發, 碁峰資訊股份有限公司, ISBN 9789862768563 (書號 ACL037900)

  3. 大綱 Session Cookie

  4. Session • Web 是沒有狀態的! • Stateless • Web Application 必須維護使用者狀態 • 會員是否已登入 • 來賓瀏覽過的商品 • 購物車 • Server 端以 Session 作為維護使用者的工具 • $_SESSION[]是一個陣列

  5. Session

  6. 使用 Session 的步驟 • session_start() 啟動 Session • 將資料存入 $_SESSION[] • 從 $_SESSION[] 取出資料 • session_destroy() 銷毀 Session

  7. 透過 Session 在網頁間傳遞資料

  8. 透過 Session 在網頁間傳遞資料 • 每一個網頁都要執行 session_start() • 如果 session_start() 無法放在第一行,考慮在第一行輸入 ob_start()開啟輸出緩衝,暫緩資料輸出 • 資料輸出後就無法利用 Cookie 儲存 Session

  9. Session 啟動、釋放與註銷

  10. 註銷 Session ID

  11. 註銷 Session ID

  12. 練習:會員管制 • 頁面一:以帳號密碼登入 • 帳號:cust,密碼:csie • 登入成功,轉到頁面二;登入失敗,顯示『帳號或密碼錯誤』 • 頁面二: • 檢查登入紀錄,如果使用者已經登入,則顯示歡迎光臨,並且提供一個【登出】按鈕,登出後回到頁面一。 • 如果使用者未曾登入,強迫使用者前往頁面一! • 安全性檢查: • 直接在瀏覽器的網址列輸入 頁面二 的網址,必須強迫使用者前往頁面一

  13. Cookie • 將資料儲存在使用者的瀏覽器指定目錄內 • 網頁瀏覽紀錄 • 使用者資訊 • 儲存方式: 純文字 • 在Cookie中儲存密碼:不安全

  14. Cookie • 設定函數 使用 setcookie( ) • setcookie() 函數使用前不能有任何網頁的輸出 • 若與 header( ) 或 session_start( ) 函數合用時,需在網頁第一行加上 ob_start( ) 函數 • 讀取 cookie 使用 $_COOKIE[]

  15. Cookie setcookie("Cookie變數名稱","Cookie內容","保存期限","路徑","網域","安全")

  16. Cookie變數內容保存與期限設定

  17. Cookie變數內容保存與期限設定

  18. Cookie變數內容保存與期限設定

  19. Cookie變數內容保存與期限設定

  20. Cookie變數內容保存與期限設定 可以透過清除內容刪除 cookie 可以透過強迫逾時刪除 cookie

  21. Cookie變數內容保存與期限設定 • 不同的瀏覽器對於Cookie的儲存位置與處理方式不同 • Cookie 資料無法在各種瀏覽器之間共用 • 瀏覽器可以設定成不允許儲存Cookie • 將 IE 安全性調高,可能造成 Cookie 無法儲存

  22. Cookie變數內容保存與期限設定

  23. Cookie變數內容保存與期限設定

  24. Cookie變數內容保存與期限設定

  25. Cookie 的路徑、網域、安全連線

  26. Cookie 的路徑、網域、安全連線

  27. 以陣列存取多筆Cookie資料

  28. 以陣列存取多筆Cookie資料

  29. 以陣列存取多筆Cookie資料

  30. 練習:以 cookie 重做會員管制練習 • 頁面一:以帳號密碼登入 • 帳號:cust,密碼:csie • 登入成功,轉到頁面二;登入失敗,顯示『帳號或密碼錯誤』 • 頁面二: • 檢查登入紀錄,如果使用者已經登入,則顯示歡迎光臨,並且提供一個【登出】按鈕,登出後回到頁面一。 • 如果使用者未曾登入,強迫使用者前往頁面一! • 安全性檢查: • 直接在瀏覽器的網址列輸入 頁面二 的網址,必須強迫使用者前往頁面一 • 『記住我』功能: • 讓瀏覽器記住使用者帳號密碼,下次光顧可以直接進入。

More Related