Phalcon-cookie-management
提供:Dev Guides
ファルコン-クッキー管理
ブラウザーCookieとも呼ばれるCookieは、ブラウザーに保存される小さなテキストファイルです。 ユーザーIDに関連するすべての情報を保存します。 この情報は、ユーザーがさまざまなページを閲覧したときにユーザーを検証するために使用されます。
Cookieには2つの異なるタイプがあります-
- *セッションCookies-これらのタイプのCookieはブラウザに残り、ブラウザが閉じられるまで情報を保持します。 ブラウザが開かれるとすぐに、同じユーザーの新しいセッションとして扱われます。
- 永続的なクッキー-規定の有効期間が含まれ、指定された有効期間内にブラウザに残ります。 永続的なCookieを使用するWebサイトは、ブラウザがユーザーによって閉じられた場合でも、すべてのユーザーを追跡します。
PhalconでのCookieの動作について説明しましょう。
ファルコンのクッキー
Phalconは、 Phalcon \ Http \ Response \ Cookies をCookieのグローバルストレージとして使用します。 Cookieは、サーバーにリクエストを送信するときにPhalconに保存されます。
クッキーを設定するための構文は次のとおりです-
$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が存在するかどうかを確認し、それに応じて値を出力します。
クッキーの暗号化
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に保存することをお勧めします。