[PHP-users 3031] Re: POSTされたデータについて

tetuo shima php-users@php.gr.jp
Mon, 22 Oct 2001 17:54:56 +0900


> SUMiです。
>
> とりあえず、
> [PHP-users 2656] 戻るとクリアーされます Fri, 12 Oct 2001 17:18:30 +0900
> あたりのスレッドを一読されてみては?
>

一応、過去ログはかなり検索しました。 ID、Passwordを認証し、セッションに登録
するメニュー画面には
<meta http-equiv="Pragma" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
を追加しています。
----------
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");             // 過去の日付
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
                                                              // 常に修正さ
れている
header("Cache-Control: no-cache, must-revalidate");           // HTTP/1.1
header("Pragma: no-cache");                                   // HTTP/1.0

----------
も試しました。

これでも初期ログイン時に入力したPOSTデータが「期限切れ」ページ更新時にメ
ニュー画面に流れ、通常どおりにID、Passwordを受け取り、正常に認証しセッション
を開始します。


> セッション変数にユーザIDとパスワードの組を登録し、
> ページ遷移する際に毎回DBなどから照合させるという
> 方法であれば特に問題ないはずですが・・・。
>
> <hidden>タグなどでログイン情報を引きまわしたりは、
> してないんですよね・・・。

セッション管理のIDは各ページで確認しており、<hidden>タグでの情報引き回しはな
いです。


> 「戻る」ボタンで戻って「更新」ボタンを押してた場合、そのページ
> で入力した情報を「再度」送ることになります。PHPから見ると、通常の
> ログインと変わらないわけなので、メニュー画面が表示されても不思議は
> ありませんが・・・。なにか問題だったりしますか?

各端末に複数ユーザーが想定され、ログオフ後に他人がブラウザの「戻る」ボタンを
押して前ログイン者になりすましログインが可能になってしまうのが一番の問題で
す。


また、時間などの情報を保持してPOSTデータを見ないようにしてみましたが、障害の
対象がセッション破棄後、なのでうまくいきません。


キャッシュ内のPOSTのデータを破棄するような事は出来るのでしょうか?