0

私はPHP開発にかなり慣れていません。これまで、ユーザーのログインを維持するためにハッシュ(ユーザー+パスワード)をCookieに保存していましたが、今ではphpセッションを発見しました。

もちろん、誰かがサーバーにアクセスせずに、このように保存された値を変更することは可能ですか?

$_SESSION['username'] = 'test@test.com';
4

2 に答える 2

6

いいえ、サーバーにアクセスせずにセッションを直接変更することはできません(ハッキングの抜け穴を残すまで)

セッションは、Cookieを介してユーザーにマップされるサーバー(RAMまたはファイルシステム)上の配列です。ユーザーはCookieでのみセッションIDを取得します。ユーザーが戻ると、PHPはそのセッションIDを取得し、セッションを復元します。

于 2012-09-03T13:36:32.580 に答える
2

クライアントが変数を変更することはありません$_SESSION。また、パスワードをに保存しないことをお勧めし$_SESSIONます$_COOKIE。ユーザーとパスワードが正しいかどうかを確認してから、またはを作成して$_SESSION['userID']から$_SESSION['user']、次のようなisset関数を使用してifステートメントを作成することにより、セッションが作成されたかどうかを確認できます。

if(isset($_SESSION['user'])){
   // do something...
}
于 2012-09-03T13:54:31.197 に答える