[PHP-users 23883] Re: 別ページのアイフレーム内での動作について

NAKAMURA Takeshi 1yen @ sh.rim.or.jp
2004年 12月 12日 (日) 16:41:00 JST


仲村です。


On Sun, 12 Dec 2004 12:31:16 +0900,
 SHIRAFU Makoto <escvel @ terra.dti.ne.jp> wrote:

>>  もちろん改変する事は可能でしょうが、送られたデータが異常値で無いことを
>> 確認して、それが原因でセキュリティーの問題が出ないようにしておけば
>  送信データが正常値であるか異常値であるか、検証/検出方法はどう
> するのでしょう?

 通常行うチェック以上は必要ないでしょう。
(同じサイト内で処理する場合でも、出鱈目な値を送ることは可能ですから
 システムとして正しい値であれば、それが 商品のボタンを押して送られた
 データであれ、HTML を書いて送られた値であれ気にしないということです)

 私が今、頭に思い浮かべているのは
    main.example.com
          ↓  商品番号と枝番(サイズ,色など)、購入数を hidden で持っていく
    sub.example.com
               (商品番号,枝番が存在するかをチェックする)
               商品の確認、名前、住所等を入力する(ここは PHP では無くなりますが)

 という様な動きです。

# main.example.com で何が行え sub.example.com で何が行えるのか。
# 何故、main.example.com だけで完結させることができないのか。
# というのが分からないのが、一番の問題。


>> お客さんの買う商品ですから書き換えができても問題ないかなと思います。
>  お客さんが気付かない場所で、セキュリティ的に脆弱な処理が行わ
> れていることが一番の問題だと思います。
>
>  セッションの情報をhiddenで送信するとして、第三者がその情報を
> snifferしていた場合・・・
>  お客さんが知らないところで、悪意を持ったデータの送信を行うこ
> とは可能ですよね?

 単一のサイトで行っていても sniff されれば同じでしょうし、
その為に通信路を暗号化するのではないでしょうか。
通信路の暗号化をしなければ、サイトをまたがるかどうかに関係なく
そういうことが発生する可能性は無くならないでしょう。


>  私が開発者だったら、「そのようなことが発生する」というリスクが
> 見つかった場合で、その方法は諦め、もっと堅牢な別の方法を探します。
>  私がユーザ(注文者)だったら、「そのようなことをやっている」とい
> うリスクに気付いた時点で、そのカートは使いません。

 私がどうしてもといわれたら、サイト間に IPsec でも張って
https://main.example.com/main/
https://main.example.com/sub/
とかして、proxy(rewrite) させるかなぁ。
# サイト2つに証明書入れたら高く付きそうだし(^^;
(もちろん、sub.example.com は main から以外の接続を受けないようにする)

 PHP に proxy させれば、セッション情報を外に出さず 直接
request ヘッダに埋め込んで main から sub へ送ることもできそうですし。
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 関西沖縄青年の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
 仲村 武 <1yen @ sh.rim.or.jp>
 なんか、間違ってそうですが良く分かりません。
 叩いてくれれば嬉しいです。


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