0

認証に Cookie を使用する方法に移行したいと考えています。次のコードを作成し、user_check.phpページ内でこのようなものを実装しようとしています。

$username = $_POST['username'];
$ClientIP = $_SERVER['REMOTE_ADDR'];
date_default_timezone_set('Europe/London');
$date = date('m/d/Y h:i:s a', time());

$LoginAudit = $Con->prepare("INSERT INTO loginaudit ('ID', 'emailaddress, 'date') VALUES ('', '$username', '$date'");
$LoginAudit->execute();
setcookie("LoginAuthentication", $username , time()+3600);
header("location:member_area.php");

そして、Cookieが設定されているかどうかを確認するスクリプトは?

setcookie("LoginAuthentication", $username , time()+3600);

if (!isset($_COOKIE['LoginAuthentication']))
{
    /// Re-direct To Main Menu
    break; 
}

Cookie の LoginAuthentication が Web サイトのスクリプトと自動ログインによって取得されない理由がわかりません。

4

1 に答える 1

1

これに Cookie を使用することは非常に悪い考えです。Cookie は編集可能であり、任意の情報を含めていつでも作成できるためです (PeeHaa が指摘)。

PHPセッションを見ているは​​ずです。PHP セッションでは、すべての変数がサーバーに保存され、セッション ID にリンクされます。このセッション ID は、各セッションの開始時に作成され、(通常は) Cookie に保存されます。

これは、特定のセッション ID が一意であり、(セッション ID 以外の) データがクライアント側に保存されないため、より安全な方法になる傾向があります。

参照:

于 2012-12-20T22:08:41.233 に答える