[PHP-users 19510]Re: プログラム偽装防止方法

Hideo NAKAMITSU nomo @ bluecoara.net
2003年 12月 22日 (月) 21:01:00 JST


中満です.

On Mon, 22 Dec 2003 20:02:51 +0900 (JST)
kenbooit @ excite.co.jp wrote:

> あるシステムのファイルをローカルのパソコンに落とすなりして、
> 例えば下のようなプルダウンメニューに
> 
> <select name=hoge>
>  <option=1>1
-- snip --
> を追加することなどは簡単にできてしまいますよね。
> 
> これを阻止するのに、
> 例えばPHPでVALUE値1~5以外はエラーにするみたいなチェックを
> 現在行なってはいます。
> 
> これも一つの解決方法なのかもしれませんが、
> もっと望ましいのは、自サーバ以外から来た場合はエラーとする、という動きだと考えています。
> いちいちエラーチェックを走らせるのは負荷も結構かかりますし。
> 
> Refererは環境に依存する、偽装できる・・・ので、使えないとして、
> なにかいい方法はないものでしょうか。

ご察しの通り,「自サーバ以外から来た(POST,GETされた)場合はエラーとする」
というのは不可能ですね.

コーディングではなく負荷が心配であれば,Refererによるチェックも
効果があるでしょうし,クライアント,サーバサイドで二重にチェックを
行うのも当然効果があります.

私は最近PEARのHTML_QuickFormを重宝していますが,検討されてみては
いかがでしょうか?

# かなり簡単にJavaScriptによるクライアントサイドとサーバサイドの
# チェックを行うことが出来るので手放せません.

/* -----------------------------------
Hideo NAKAMITSU <nomo @ bluecoara.net>
http://solaris.bluecoara.net/
----------------------------------- */



PHP-users メーリングリストの案内