私は基本的なアプリケーションを構築しています。login.phpからindex.phpにユーザ情報を渡す方法を理解しようとしています。これまでのところ、私はログイン・ページを持っており、ユーザー・クラスを介してデータベースを介してユーザーを送信および認証します。その後、ユーザープロパティはデータベースから返される値に設定されます。そこからidはセッションに格納されます。ページからページへのユーザー情報へのアクセス方法を教えてください。私はちょうどセッションIDを持つデータベースを照会するための構築メソッドを構築する必要がありますか?それは安全か有効なアプローチですか?スタックオーバーフローの例があります。すべてのページの上部にユーザー名が表示される方法。ログインページでログイン後にユーザー情報にアクセスするにはどうすればよいですか?
答えて
が鳴ります。つまり、どのメソッドが安全であるか、最適化されているかどうかを尋ねるだけです。
セッションやクッキーにできるだけ少ない情報を保存して、簡単な釣りのハッキングまでユーザーを開放しないようにするのが一般的です。理想的には、セッションIDを使って相互参照できるデータベースにセッションテーブルがあることを意味します。
はい、すべてのページの読み込みでクエリを実行しますが、これは標準のサイトではあまりオーバーヘッドではありません。あなたの意見をきちんと消毒する限り、それは安全ではありません。ユーザーがセッション情報を操作した場合、そのようにすることはできません。
また、ユーザーIDとユーザー名だけを使用している場合は、それらをセッションに安全に保存し、すべてのページの読み込み時にクエリを避けることができます。セッションやクッキーのデータを詰め込んで、あまり使われない情報で埋め尽くされた非常に長い配列でナッツをしないでください。
+1;セッションデータの安全性に関する良い点 –
@カイさんは私の質問をTに答えました、ありがとうございます。 – Scott
、他のページのセッションでデータベースから店舗の利用者情報、あなたは直接
<?php
session_start();
$_SESSION['user'] = $username;
や他のサイト
<?php
session_start();
$_SESSION['user'];
あなたがあなたのプロフィールページに行くとき、stackoverflowの例に戻ると、そこにたくさんのデータがあります:あなたが答えた質問、あなたが聞いた質問など..あなたは明らかにそのすべてをセッションに保存するつもりはありませんだから、どのように$ _SESSSION ['USER']とIDを使ってデータベースからすべてのデータを取り出すのですか? – Scott
あなたのSQL構造にあなたのプライマリIDがあるとします。$ _SESSION ['id']にIDを格納し、後で必要ならば各サイトで使用されるいくつかの基本情報(ユーザ名や名前など)を保存しますいくつかの困難で特定のクエリを取得し、ちょうど$ _SESSION ['id']からIDを取得し、あなたのSQLクエリでそれを使用してください –
にそれらを呼び出すことができますI基本的なアプリケーションを構築していますが、login.phpからindex.phpにユーザ情報を渡す方法を理解しようとしています
一つの方法は、PHPのセッションデータとして共有データを格納することです:http://www.tizag.com/phpT/phpsessions.php
<?php
session_start(); // start the session
$_SESSION['views'] = 1; // store session data
echo "Pageviews = ". $_SESSION['views']; //retrieve data
ストアあなたがすべてのページのために必要なユーザー・データ。 DBに拡張データを残すことができるので、大量のデータを前もって照会する必要はありません(SOのプロファイルページに表示される徹底的な統計情報など)。
その後、すべてのページでユーザーデータを再クエリする必要はありません。セッションデータから取得するだけです。
セッションIDを使用してデータベースにクエリを実行するための構築メソッドを作成してください。それは安全か有効なアプローチですか?
すべてに同じDBアカウントを使用している場合、本質的にユーザーテーブルのクエリについては安全性が低くなりません。すでに行っている他のクエリよりも危険にさらされることはありません。
DBにアクセスする際の安全性が心配なら、具体的な問題について学ぶことをお勧めします。SQL injection attacksを防ぐ。
を参照してください:あなたがダウン取り扱いセッションの一般的な考えを持っているようHow can I prevent SQL injection in PHP?
- 1. Flexでユーザーのブラウザに関する情報を取得するにはどうすればよいですか?
- 2. AndroidアプリでSchoologyのREST APIから情報にアクセスするにはどうすればよいですか?
- 3. クリスタルレポートとmsアクセスでログオン情報を動的に変更するにはどうすればよいですか?
- 4. Androidで道路交通情報にアクセスするにはどうすればよいですか?
- 5. ユーザーのブラウザ情報を取得してフォームフィールドに送信するにはどうすればよいですか?
- 6. Googleカレンダーの情報にアクセスするにはどうすればよいですか?
- 7. WebClientからWCF RESTサービスにユーザー資格情報を渡すにはどうすればよいですか?
- 8. スタックトレース情報を取得するにはどうすればよいですか?
- 9. ストライプ情報を取得するにはどうすればよいですか?
- 10. Photoshopでレイヤースタイル情報にどのようにアクセスしますか?
- 11. デリゲートタイプに情報を保持させないようにするにはどうすればよいですか?
- 12. Javaでログインした後に特定のユーザーに関する情報にアクセスする方法
- 13. Windowsサービスのユーザー資格情報をコマンドラインから変更するにはどうすればよいですか?
- 14. ユーザーがログインした後にランディングページを選択するにはどうすればよいですか?
- 15. jetspeedでユーザー情報を設定するにはどうすればよいですか?
- 16. PHPとMySQL経由で登録ユーザー情報を編集するにはどうすればよいですか?
- 17. RailsでPOST情報を読むにはどうすればよいですか?
- 18. facebook、データ内のユーザーのトラッキング情報を送信するにはどうすればよいですか?
- 19. Facebookアプリケーションにユーザー情報を統合するにはどうすればいいですか?
- 20. JavaScriptでログインした後にPHPでユーザー情報を使用
- 21. ユーザーがphpMyAdminログインページにアクセスできないようにするにはどうすればよいですか?
- 22. ユーザーがVBAにアクセスできないようにするにはどうすればよいですか?
- 23. S3に完全にアクセスできるs3バケット、IAMユーザーを作成するにはどうすればいいですか?ユーザーの資格情報をアプリケーションに渡すにはどうすればよいですか?
- 24. トランザクションのchildCategory情報にどのようにアクセスしますか?
- 25. Wordpressログインまたは登録後にユーザー情報を取得
- 26. ログインしているユーザーのユーザー名をJDBCRealmで取得するにはどうすればよいですか?
- 27. 入力する情報を格納し、後でその情報を出力する配列を作成するにはどうすればよいですか?
- 28. 情報を入力したユーザーだけがHTMLテーブルのセル情報にアクセスできるようにする
- 29. 新しいRユーザーがGoogleフォームに情報を送信できるようにするにはどうすればよいですか?
- 30. UDPパケットに含まれる情報を取得するにはどうすればよいですか?
なぜユーザー情報をセッションに保存しないのですか? –