
検索フォームから値を受け取り、該当するデータを表示するプログラムを作っているんですが、
session_regenerate_idを使ったセッション管理で行き詰っています。
session_regenerate_idを使うと1ページずつ進んでいく場合は、何も問題ありませんが、
現在のページからタブに複数ページを開こうとすると2つめ以降のタブ(ページ)が表示されなくなります。
おそらくsession_regenerate_idにより1つめのタブが開かれたときに、セッションが書き換えられて、
2つめのタブに正常にセッション変数が受け渡しできていないのが問題と思いますが、どのように解決したらよいのかわかりません。
セキュリティ対策をした上でページ間共有をスムーズに行うにはどのようにすればよろしいのでしょうか。
ちなみにセッションはフリーワード検索のみに使用します。
No.1ベストアンサー
- 回答日時:
基本的に、セッションで1つのページから2つのページに枝分かれさせるという実装は行いません。
一般論としては、ページは1枚ずつ進めていくものです。セッションをCookieに持たせれば(session_set_cookie_params)できますが、セキュリティ面で弱くなりますので、ご注意ください。
No.2
- 回答日時:
タブってのは、タブブラウザでのタブって意味で良いのでしょうか?
そもそも、
>セッション変数が受け渡しできていない
事をどうやって確認したのか、推測しているのみで確認はできていないのか、よくわからないのですが。
なんとなく、設計とマッチしないこと、あるいはよく判らずに対策している事が原因で、セキュリティ対策のつもりで入れているコードが暴走してるのでは?って気がします。
どこから来たかって、refererを参照したセキュリティ対策のつもりのコードを入れているけど、新しいタブを開いた場合はrefererに何も入っていないとか?
ブラウザ不明なので適当な推測を述べてますが。
たとえば、ひとつのタブでは「あ」と検索して、別のタブでは「い」と検索して、それぞれのタブで検索結果のリストが10件以上あったらページ送り(次の10件など)のリンクがあるって事をやりたいって意味ですかね?
※10件でなくてもいいけど
もしそれで合ってるとして、検索ワードをセッション変数に保存している?
もしそうだとすると、どうやってそれぞれのタブで表示されている検索ワードを一つのセッションに、タブ毎に関連付けして保存して、取り出しているか?
ひとつの変数を取り合っているのか、何らかのIDを持たせて自前で管理しているのか?
ひとつの変数を取り合っているならそれが原因の可能性高いし、自前の管理機能の暴走かも知れませんね。
そもそもやりたい事が見えない、何が起こっているのかもわからない、暗中模索で補足情報要求です。
回答ありがとうございます。
私の至らない文のせいで、うまく状況をお伝えできず申し訳ございません。
今回はなんとか自分の思い通りに動作させる事ができましたので、
回答を締め切らせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
管理者としてログイン
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
PHP+SmartyとAjax
-
wordの差し込み印刷で文字...
-
バッチファイルで、全てのウィ...
-
ウイルスもどき
-
電話番号のフォーマットについて
-
【C#】FindWindowExの使い方を...
-
開始と終了を指定して、その間...
-
PHPの名前空間インポートについて
-
[CakePHP] Paginatorのリンクが変
-
shシェルスクリプト 空白行の...
-
ブラウザの戻るボタンで重複登...
-
【C#】DataGridViewの最大列数...
-
オブジェクトの中身の判定(PHP)
-
findstrのerrorlevel
-
file_existsが動作しない
-
Windowsのsetコマンドでの小数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
セッションのスコープ(有効範...
-
ログイン画面をはさんだ後、自...
-
PHPのセッション有効期限について
-
Cookieを利用したユーザ管理
-
sessioncookieをではなくcookie...
-
Sessionの上限について
-
■(ログイン)セッションの有効期...
-
!issetの冒頭の!ビックリマー...
-
session_unsetを使う利点
-
セッション変数にパスワードを...
-
複数のサーバで運営する場合の...
-
セッション変数で定数を宣言す...
-
セッションファイルの有効期限...
-
ブラウザを閉じた後もセッショ...
-
セッション ID とセッション名...
-
別ブラウザ間でセッションの値...
-
SESSION情報は、ブラウザを起動...
-
複数ページでセッションを使わ...
-
"セッションハンドラ"とは
おすすめ情報