ユーザーがログインした後、によって設定されたユーザー名にCookieが設定されているWebアプリがありますsetcookie()
。
セキュリティのためのより良いアプローチを提案してください。
ユーザーがログインした後、によって設定されたユーザー名にCookieが設定されているWebアプリがありますsetcookie()
。
セキュリティのためのより良いアプローチを提案してください。
Cookie の代わりに PHP セッションを使用します。セッション変数はサーバー側です。PHP は自動的にセッション管理を処理します。さらに制御したい場合は、その機能をオーバーロードすることもできます。
http://php.net/manual/en/intro.session.php
session_start();
$_SESSION['user'] = 'michael'
PHP セッションでは、セッション ID のみがブラウザーの Cookie に保存されます。スーパーグローバル変数$_SESSION
に任意の情報を保存でき、ブラウザはこれらの変数を表示したり改ざんしたりできません。
安全性を高めるために、ログインに使用されたリモート アドレスを保存し、ページの読み込みごとに比較する必要があります。これは、誰もセッション ID を乗っ取ったり、別の場所からログインしたふりをしたりしていないことを確認するためです。
session_start();
if (_logging_in__) {
$_SESSION['user'] = 'michael'
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
ユーザーがログインしているかどうかを確認します。
session_start();
if (isset($_SESSION['user'])) {
// the user is logged in
if ($_SERVER['REMOTE_ADDR'] != $_SESSION['ip']) {
// the session id was hijacked so log out
session_destroy();
exit;
}
}