2

セッションを使用してユーザーがログインしているかどうかを管理する本から基本的なログイン スクリプトを作成しています。

これは素晴らしいことですが、ブラウザーを閉じてから再度開くと、再度ログインする必要があります。一方、たとえば Facebook では、ブラウザーを閉じてもログインしたままです。これはCookieを使用して行われていると思います。クッキーを使用しても安全ですか? この Cookie はどのくらいの期間保持されますか? Web サイトでは、「アクセスの最後にログアウトすることを忘れないでください」と明示的に記載されていることがあります。なぜこれが必要なのですか?

現在、私のスクリプトは次のようなものです:

session_start();

if (is_set($_POST["login_button_pressed"])){
     if (form_verified_successfully()){
          $user_details = get_user_details_from_database();
          $_SESSION['username'] = $user_details['username'];
     }
}

上記を Cookie で動作するように変更するのは簡単でしょうか? もしそうなら、どのように?

ありがとう

4

1 に答える 1

4

Acookieは、ユーザーのハード ドライブの一時ディレクトリに保存される小さなテキスト ファイルです。この Cookie は、そこに置かれたブラウザーからアクセスできます。以前にアクセスした URL (ユーザーが読んだ投稿と読んでいない投稿)、ユーザーの資格情報、ユーザーのカートの内容、またはフォーラムで書き終えていない投稿などのデータを保持できます。そのシステムでの Cookie の有効期間を選択します。私が確認した中で最も一般的なのは、24 時間、7 日、14 日、30 日です。

Asessionは、Web サーバーと対話する実際のソフトウェア、つまりブラウザ、コマンド プロンプト、またはその他のアプリケーションに添付されます。ブラウザーを閉じるか、アプリケーションをシャットダウンすると、セッション データは失われます。

ユーザーに再度ログインしてもらいたい理由。アクセスを許可したデータは非常にプライベートな情報であり、15 分後にコンピューターを取得した別のユーザーがアクセスしてはならない (バンキング、アカウント設定) またはあなたが提供したデータユーザーが時間に敏感であり、ユーザーに再度サインインさせ、ユーザーが戻ってきたときに新しいデータを提供する必要がある場合。

Facebook、LinkedIn、Google+、Twitter、その他いくつかのフォーラムやブログなどのほとんどのソーシャル ネットワーキング サイトでは、1 か月以上ログイン状態を維持するための Cookie が提供されます。あなたのプロフィール。ただし、アカウント設定を変更しようとすると、再度ログインするように求められ、現在のセッション中にのみサイトのそれらの部分にアクセスできるようになります. これはセキュリティ上の理由によるものです。

これが役立つことを願っています。クイック リファレンスについては、 で Google 検索を実行してくださいsessions vs cookies。使用している言語/プラットフォームに関連する記事を見つけることができるはずです。PHP、Java、.net などに関する優れた記事があり、利点、欠点、およびベスト プラクティスについて説明しています。

Cookie への変更: 最後の質問ですが、Cookie を使用するように変更するのはそれほど難しいことではありません。ほとんどの場合、_COOKIEではなく を介して参照_SESSIONされますが、保持する情報と有効な期間を Cookie に伝える必要があります。Google で簡単に検索するsetting cookie [language]と、多くのチュートリアルが表示されます。[language]PHP、Java、Spring、.net などに置き換えます。

于 2013-03-19T18:41:11.947 に答える