[PHP-users 1053] Re: 特定ファイル/ディレクトリへのアクセス拒否

Takuma Wabiko php-users@php.gr.jp
Fri, 3 Aug 2001 11:08:38 +0900


はじめまして。我彦といいます。
ちょうど認証処理に悩んでいたところに偶然
このネタの話が来たのでとても勉強になりました。
みなさん、どうもありがとうございます。


ところで、
   http://www.zend.com/codex.php?id=626&single=1
のコードを見たのですが、 md5 に渡す値は HTTP_*_VARS の
キーと値を連結した文字列を渡すので、うちの環境では
次の3つの例はどれも check_user_vars を通り抜けてしまいます。
# うちの環境、に限定したのは PHP で連想配列の順番がどうやって処理
# されているかわからないから。

sample.php?variable1=value1&variable2=value2&md5sum=0854079e1a6df08acd484ef65ca022d0
sample.php?var=iable1value1&variable2=value2&md5sum=0854079e1a6df08acd484ef65ca022d0
sample.php?v=a&r=iable1value1variable2value2&md5sum=0854079e1a6df08acd484ef65ca022d0

これは $q .= $k.$user_vars[$k].MAGIC のようにして、ある程度解決できそう。


それと、連想配列の並び順に手をつけずに連結していますが、
$HTTP_*_VARS の値が常にソートされる、という保証が無いなら
ksort を適用させた上で連結したほうが良いと思います。



On Wed, 1 Aug 2001 12:31:19 +0900
"Yasuo Ohgaki" <yohgaki@hotmail.com> wrote:

> 自己レスです。
> 
> > 認証済みのユーザーが認証が必要なページにアクセスする際の再認証のオー
> > バーヘッドを軽減したい、と理解しました。
> >
> > 参考になるコードをzend.comに置いてあります。
> > このような用途に使うために書いてあります。
> >
> > 「Protect values (GET/POST/COOKIE) set by PHP 」
> > http://www.zend.com/codex.php?id=626&single=1
> >
> > 簡単なコードなので、読むとどう利用すると安全に実装できるか解ると思い
>> > す。

-- 
Takuma Wabiko
E-mail: wabi@cds.ne.jp