0

私は PHP 言語で作業しています。Webサイトで作っています。サインイン ページで、ユーザーが正しい情報を入力したことを確認した後、idandをセッションまたは Cookieに保存しnameて、他のページで使用できるようにしたいのですが、どちらが安全で便利かわかりません。非常に多くの質問を読みましたが、答えが得られませんでした。COOKIESESSIONのどちらが優れていますか。

そして、 1時間クッキーを作りたいのですが、ユーザーがページを更新すると、時間が再び始まります。

setcookie("registration",true,time()+3600,'/');

上記で作成したクッキーは、私が望む必要な作業を行いますか?

4

1 に答える 1

1

セッションの方がいいのですが、

Cookie を使用すると、すべてがクライアント側に保存され、各ページのネットワークに送信され、次のことが可能になります。

  • ユーザーによって変更された

  • HTTPS を使用していない場合、誰かに傍受される

セッションでは、すべて (もちろんセッション ID を除く) がサーバーに保存されます。つまり、変更できるのはコードだけであり、ユーザーはそこにあるものを確認することさえできません。

あなたが使用することができます、

$seconds = 60*60;
$_SESSION['timeout'] = time() + $seconds;

として確認できます。

if (!empty($_SESSION['timeout'])) {
    $timeDiffernce = time() - $_SESSION['timeout'];
    if ($timeDiffernce > 3600) { // exprie after one hour (3600 seconds)
        // unset session
        unset($_SESSION['username']);
        unset($_SESSION['password']);
        unset($_SESSION['timeout']);

        // get login form
} else {
    // do your session code
}  
于 2013-09-10T06:37:12.867 に答える