Formでとある内容を次ページにPOSTで送った後に、
「戻る」ボタン、もしくは history.back() で前ページ(入力フォーム画面)に戻ったら、
フォーム内容が消える問題に遭遇。
んで、色々と実験しながら調べていたんだけど、現状だと
- IE8 => NG
- FireFox5.0 => NG
- Chrome12.0 => OK
というな~ぜかChromeだけちゃんと動いてくれている様子。
さてどうしたもんか、と。
submitで前ページに入力内容を戻して~
$_POSTで受け取って~
セキュリティチェックかけて~
htmlspecialcharsでサイニタイズして~
Formに書き出す?
=゚ロ゚)ノ ⌒┫:・’.::ヤッテラレルカァァァァァ!!!!
そんなこと繰り返すからセキュリティホールが増えるんじゃぼけぇ~
(ノ ̄皿 ̄)ノヤッテラレルカァァァァァ!┫:・’.::
そこで、色々調べていたら、
と。
しかし、「session.cache_limiter」を調べてみたら、ブラウザもしくはプロキシサーバにキャッシュ保存可否を伝えるスイッチで、考えなしに「public !!」とはしたくない。
が、しかし、phpではうまいこと抜け道を用意してくれていました!!エライ!!
実はPHPは「session_cache_limiter()」ちゅう便利な関数を用意してくれているので、当該個所にこれを置いてやればおk。
そのページだけキャッシュするようにできます。
ただし、この session_cache_limiter() は session_start() がコールされる前に実行しなければダメ。
まぁ、根本解決ではないけど、これでとりあえずの回避はできるはず。
「これじゃやだ」ってヒトはシコシコと「戻る」処理を書くしかないんじゃないの?
がんばれば?おれはやんねぇけど。