[PHP-users 32595] Re: セッションで制限しているページが見えてしまう
Takashi Nakao
kalze @ fakelife.info
2007年 9月 5日 (水) 10:51:02 JST
> A.php
> <?php
> session_start();
>
> //アクセス対策用セッション
> $_SESSION['toroku']="OK";
> ?>
> B.php
> <?php
> session_start();
> //error_reporting(0);
>
> //登録ページ以外からのアクセス防止
> if($_SESSION['toroku']!="OK"){
> header('Location:index.php');
> }
> ?>
こちらは、アイレス松本さんの質問で書かれている、
> (A.php)
> 1.セッション変数abc $_SESSION['abc'] = 1;
> 2.<A>タグのlocation.hrefにてB.phpを実行します。
> (B.php)
> 1.$_SESSION['abc'] != 1ならエラー用htmlを表示します。
> 2.上記以外は通常処理を実行します。
という処理のB.phpの1のエラー用htmlを表示しますの部分を、
index.htmlへのリダイレクトに変更したものだとおもうのですが、
チェック方法が同じなのでエラーhtmlを表示するかリダイレクトするかの違いし
かないので、何も解決してないように思うのですが、いかがでしょうか?
(自分、そんなにPHPに詳しいわけではないので的外れなこと言ってるかもしれ
ません。その際は申し訳ないです。)
> header('Location:index.php');
ヘッダでLocationを返すときは、絶対パスのURLを指定されたほうがよろしいか
と。RFCでもabsoluteURIになってますし、ブラウザによっては期待する動作しな
いものもあり、実際に遭遇したこともあります。
(なんのブラウザだったか記憶にないので例示できなくて恐縮です)
PHP-users メーリングリストの案内