0

ログインページとログアウトページを持つphpプログラムがあります。ユーザーがページに正常にログインすると、index.php にリダイレクトされます。

index.php が読み込まれると、データベースからデータが取得され (mySQL、つまり Select * from users) 、ユーザー データの一部が取り込まれ、適切なテーブル形式で表示されます。

Name         Phone             DOB          ...             Option
John Doe     xxx-xxx-xxxx      mm-dd-yy     ...             [Edit] [Details]...

クエリ結果のすべてのフィールドが上のテーブルに表示されるわけではなく、一部のフィールドのみが表示されます。

[オプション] 列の下に、[詳細] というオプションがあり、クリックすると、ユーザーはセキュリティで保護された情報を確認できます。

私はそれを行う2つの方法を考えることができます:

  1. index.php が読み込まれると、Select * from users を呼び出す代わりに (* セキュリティ情報が含まれます)、"Select id fullname, phone, dob from users" を呼び出します。(必要でない限り、何かを選択しないでください)。次に、[詳細] をクリックすると、ID が渡され、その ID を使用してデータベースから安全な情報が取得されます。(IMO これが最も安全な方法ですが、追加のクエリ呼び出しを行う必要があります)

  2. index.php がロードされたら、Select * from users を実行します。クエリ結果 (配列) をセッションに保存し、[詳細] をクリックすると、セッションから配列を取得するだけです。この方法では、追加のクエリ呼び出しを行う必要はありませんが、Session が安全かどうかはわかりません。

セキュリティ的にはどちらが良いですか?(どれもそうでない場合は、どうすればよいか教えてください)

4

1 に答える 1

4

セッションにデータを保存することは安全です。Cookie にデータを保存することは安全ではありません

セッションはサーバーに保存され、Cookie はクライアントによって保存されます (したがって、安全ではありません)。

パフォーマンスに関する限り..それは依存します。答えは 1 つではありません。自分に合った方法を実行してください

于 2013-08-29T16:23:08.350 に答える