検索フォームから値を受け取り、該当するデータを表示するプログラムを作っているんですが、
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- Chrome(クローム) Chromeで複数タブを開いた状態で閉じ、再度開いた場合のタブの回復は? 2 2022/04/02 01:44
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのセッション有効期限について
-
sessionとcookieの設定内容の区別
-
初歩的な質問 セッション管理に...
-
セッション脆弱性を克服するには?
-
セッション変数と配列
-
PHPセッションIDの変更
-
複数のサーバで運営する場合の...
-
セッションの破棄
-
セッション変数で定数を宣言す...
-
docomoのセッションが切れてし...
-
セッションについて
-
セッション中の1つの変数をuns...
-
http://hogehoge.com/page.php?...
-
ログイン中のフォーム確認画面...
-
URLのパラメータをGETのままで...
-
【PHP】SESSION変数の競合を...
-
header関数について
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
ファイル名に日付の挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
PHPのセッション有効期限について
-
ブラウザを閉じた後もセッショ...
-
Sessionの上限について
-
!issetの冒頭の!ビックリマー...
-
ログインしたら他からログイン...
-
セッション ID とセッション名...
-
session_start()で生成されるセ...
-
ログインした掲示板ですが、直...
-
【PHP】SESSION変数の競合を...
-
セッションを維持したまま、サ...
-
セッションのスコープ(有効範...
-
「ログイン機能を持たせる」説...
-
PHP cookieの値が更新されない...
-
別ブラウザ間でセッションの値...
-
リアルタイムカウンター
-
session_cache_limiterの使い方
-
SESSION情報は、ブラウザを起動...
-
セッション変数の命名規則
-
セッション変数にパスワードを...
おすすめ情報