开发手册 欢迎您!
软件开发者资料库

Phalcon - Cookie管理

Phalcon Cookie管理 - 从简单和简单的步骤学习Phalcon,从基本到高级概念,包括概述,环境设置,应用程序结构,功能,配置,控制器,模型,视图,路由,数据库连接,交换数据库,脚手架应用程序,查询语言,数据库迁移,Cookie管理,会话管理,多语言支持,资产管理,使用表单,对象文档映射器,安全功能。

Cookie也称为浏览器Cookie 是存储在浏览器中的小文本文件.它保存了与用户身份相关的所有信息.这些信息用于在用户浏览不同页面后对其进行验证.

有两种不同类型的Cookie :

  • 会话Cookie : 这些类型的cookie会保留在浏览器上并保留信息,直到浏览器关闭为止.浏览器打开后,它将被视为同一用户的新会话.

  • 持久性Cookie : 它包括规定的寿命,并在给定的生命周期内保留在浏览器中.那些使用持久性cookie的网站会跟踪每个用户,即使浏览器已被用户关闭.

现在就让我们吧讨论如何在Phalcon中使用Cookie.

Phalcon中的Cookie

Phalcon使用 Phalcon \ Http \ Response \ Cookies 作为cookie的全局存储. Cookie会在向服务器发送请求时存储在Phalcon中.

以下是设置Cookie : 的语法;

$this->cookies->set(    "",    "",    time );

请考虑以下示例.使用以下代码,我们将在用户登录Web应用程序时创建用户的cookie.

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将显示为输出.

显示输出

描述

Cookie命名为"loginAction"已创建值"abc".

方法"indexAction"检查cookie是否存在并相应地打印值.

Cookie的加密

Phalcon中的Cookie在作为请求发送到服务器之前已加密,并在我们得到适当的响应后立即解密从服务器.这确保了授权用户的安全.

尽管有加密和解密功能,但始终建议避免将敏感数据存储在cookie中.加密cookie的配置包含在 services.php 文件中.

Encription


/**    * 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中存储小数据和文字.