
- Phalcon 教程
- Phalcon - 首頁
- Phalcon - 概述
- Phalcon - 環境設定
- Phalcon - 應用程式結構
- Phalcon - 功能
- Phalcon - 配置
- Phalcon - 控制器
- Phalcon - 模型
- Phalcon - 檢視
- Phalcon - 路由
- Phalcon - 資料庫連線
- Phalcon - 切換資料庫
- Phalcon - 腳手架應用程式
- Phalcon - 查詢語言
- Phalcon - 資料庫遷移
- Phalcon - Cookie 管理
- Phalcon - 會話管理
- Phalcon - 多語言支援
- Phalcon - 資產管理
- Phalcon - 使用表單
- Phalcon - 物件文件對映器
- Phalcon - 安全特性
- Phalcon 有用資源
- Phalcon - 快速指南
- Phalcon - 有用資源
- Phalcon - 討論
Phalcon - Cookie 管理
Cookie 也稱為瀏覽器 Cookie,是儲存在瀏覽器中的小型文字檔案。它儲存與使用者身份相關的所有資訊。此資訊用於在使用者瀏覽不同頁面時驗證使用者。
Cookie 有兩種不同的型別:
會話 Cookie - 這些型別的 Cookie 保留在瀏覽器中並保留資訊,直到瀏覽器關閉。瀏覽器一旦開啟,將被視為同一使用者的全新會話。
持久 Cookie - 它包含一個規定的生命週期,並在給定的生命週期內保留在瀏覽器中。使用持久 Cookie 的那些網站會跟蹤每個使用者,即使使用者關閉了瀏覽器。
現在讓我們討論 Cookie 在 Phalcon 中是如何工作的。
Phalcon 中的 Cookie
Phalcon 使用Phalcon\Http\Response\Cookies作為 Cookie 的全域性儲存。Cookie 在向伺服器傳送請求時儲存在 Phalcon 中。
以下是設定 Cookie 的語法:
$this->cookies->set( "<cookie-name>", "<cookie-value>", time );
考慮以下示例。使用以下程式碼,當用戶登入 Web 應用程式時,我們將建立使用者的 Cookie。
<?php class UsersController extends \Phalcon\Mvc\Controller { public function indexAction() { if ($this->cookies->has("login-action")) { // Get the cookie $loginCookie = $this->cookies->get("login-action"); // Get the cookie's value $value = $loginCookie->getValue(); echo($value); } $this->cookies->set( "login-action", "abc", time() + 15 * 86400 ); } }
加密後的 Cookie 將顯示為輸出。

描述
名為“loginAction”的 Cookie 已建立,值為“abc”。
方法“indexAction”檢查 Cookie 是否存在並相應地列印值。
Cookie 的加密
Phalcon 中的 Cookie 在作為請求傳送到伺服器之前會被加密,並在我們從伺服器獲得適當響應後立即解密。這確保了授權使用者的安全性。
儘管具有加密和解密功能,但始終建議避免在 Cookie 中儲存敏感資料。Cookie 加密的配置包含在services.php檔案中。

/** * Enable encryption key for setting values of cookies */ $di->set( "cookies", function () { $cookies = new Cookies(); $cookies->useEncryption(false); return $cookies; } ); /** * Set encryption key */ $di->set( "crypt", function () { $crypt = new Crypt(); $crypt->setKey('AED@!sft56$'); // Use a unique Key! return $crypt; } );
注意 -
始終建議在將 Cookie 傳送到伺服器時使用加密。
如果不使用加密,所有內部應用程式都將暴露給攻擊者。
還建議在 Cookie 中儲存少量資料和文字。
廣告