2011-10-25 6 views
1

メンバーのダッシュボードにアクセスするには、ユーザーがアカウントにログイン(または登録)する必要があるシステムがあります。いつセッションを開始するのですか?

私の質問は...どの時点でsession_start()ですか?ログインページと登録ページでは?またはユーザーが正常に認証された後

ありがとうございました。

+1

独自の認証システムを作成することは非常に難しいことに注意してください。あなたが大量の経験を持っていないか、しばらくの間、主題を勉強していない限り、多くの脆弱性が存在する可能性があります。 – outis

+0

session_start()は、ユーザーブラウザがCookieを無効にしている場合に呼び出されるたびに新しいセッションIDを作成し、これらのユーザーをサポートしたい場合はセッション管理が厄介で脆弱であることに注意してください。 –

答えて

9

セッションデータにアクセスできるようにするすべてのページにsession_start()を含める必要があります。他の出力が行われる前に呼び出される必要があります。

1

セッションデータにアクセスする必要があるページでセッションを開始します。正常なログインの一環として、session_regenerate_idに電話してセッションの固定を防止する必要があります。

0

ユーザーが認証されるとセッションを開始できます。 その後、S_SESSIONのユーザー関連情報を使用して、どこからでもこの情報にアクセスできます。

1

ヘルゲHelwigあなたは各ページの上部にsession_start()を追加する必要があり、

を言ったように。 しかし、これを簡単にするには、PHP文書を作成することができます。ここでは のような重要なコードをすべて格納して呼び出します。 init.phpと言う。

次に、 のコードを少しクリーンアップすると、すべてのページの上部にinclude 'init.php'と表示できます。

0

ユーザーの情報を確認した後にセッションを開始し、ユーザーのuidをセッション変数に設定するよりも、セッションを開始する必要があります。プロファイル、設定などのユーザーの個人情報をロードする際に後で役立つ可能性があります。

登録ページ私はあなたがセッションを開始する必要はないと思います。

よろしく

0

あなたsession_start()それぞれ安全であり、それは認証後にアクセスされるすべてのページに呼び出されます。ユーザーを認証するときに、ログインページと登録ページの両方にセッションの値を入力します。しかし、いったんユーザーが確認されると、ユーザーの認証が必要なすべてのページにこの機能を追加する必要があります。

関連する問題