Phalcon - Cookie-Management

Cookies auch bekannt als browser cookiessind kleine Textdateien, die im Browser gespeichert sind. Es speichert alle Informationen zur Benutzeridentität. Diese Informationen werden verwendet, um die Benutzer zu validieren, sobald sie verschiedene Seiten durchsucht haben.

Es gibt zwei verschiedene Arten von Cookies -

  • Session Cookies- Diese Art von Cookies bleibt im Browser und speichert Informationen, bis der Browser geschlossen wird. Sobald der Browser geöffnet wird, wird er als neue Sitzung für denselben Benutzer behandelt.

  • Persistent Cookies- Es enthält eine festgelegte Lebensdauer und bleibt innerhalb der angegebenen Lebensdauer im Browser. Websites, die dauerhafte Cookies verwenden, verfolgen jeden einzelnen Benutzer, auch wenn der Browser vom Benutzer geschlossen wird.

Lassen Sie uns nun diskutieren, wie Cookies in Phalcon funktionieren.

Kekse in Phalcon

Phalcon verwendet Phalcon\Http\Response\Cookiesals globaler Speicher für Cookies. Cookies werden in Phalcon gespeichert, während eine Anfrage an den Server gesendet wird.

Es folgt die Syntax zum Einrichten eines Cookies -

$this->cookies->set( 
   "<cookie-name>", 
   "<cookie-value>", 
   time 
);

Betrachten Sie das folgende Beispiel. Mit dem folgenden Code erstellen wir Cookies des Benutzers, wenn sich der Benutzer bei der Webanwendung anmeldet.

<?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 
      ); 
   } 
}

Die verschlüsselten Cookies werden als Ausgabe angezeigt.

Beschreibung

Cookie benannt “loginAction” wurde mit Wert erstellt “abc”.

Die Methode “indexAction” prüft, ob das Cookie existiert und druckt den Wert entsprechend aus.

Verschlüsselung von Cookies

Cookies in Phalcon werden verschlüsselt, bevor sie als Anfrage an den Server gesendet und entschlüsselt werden, sobald wir eine entsprechende Antwort vom Server erhalten. Dies gewährleistet die Sicherheit der autorisierten Benutzer.

Es wird immer empfohlen, sensible Daten trotz der Funktionalität der Ver- und Entschlüsselung nicht in Cookies zu speichern. Die Konfiguration für die Verschlüsselung von Cookies ist in enthaltenservices.php Datei.

/** 
   * 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; 
   } 
);

Note - -

  • Es wird immer empfohlen, beim Senden von Cookies an den Server eine Verschlüsselung zu verwenden.

  • Wenn keine Verschlüsselung verwendet wird, ist die gesamte interne Anwendung dem Angreifer ausgesetzt.

  • Es wird auch empfohlen, kleine Daten und Literale in Cookies zu speichern.