PHPで開発をすることが多くなりPerlの良さを再確認している今日この頃ですが皆さんいかがお過ごしでしょうか。 さて、今日は今もっともナウいPHPのWebアプリケーションフレームワークであるCakePHPのお話を一つ。 CakePHPには組み込みコンポーネントとしてリクエストハンドラ(RequestHandler)が備わっています。 リクエストハンドリング :: 組み込みのコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook: このRequestHandle... > このページを見る
最終更新時間:
2008年12月03日05時46分
みんなのブックマーク 人気(0) 新着
- なるへ
- 『ここで一度整理しておきたいが、phpで取得できる$_SERVER['REMOTE_ADDR']はwebサーバに実際に接続してきたtcp/ipにおける送信元アドレスであり、3ウェイ・ハンドシェイクにより検証されている信頼性の高い送信元IPアドレスとい
- クライアントIPアドレス
- だがちょっと待ってほしい。CakePHPは内部ネットワークにproxyがあるような環境でこそ使ってほしいというメッセージなのかもしれない。Webサーバ1台の環境でサービスを提供していいのは小学生までだよねー。
- CakePHPアプリ,HTTPヘッダでIP偽装
- CakePHPのgetClientIPはIP Spoofingが可能なため、ケータイWebなどで接続元IPアドレスを認証要素にしている場合などに危険
- へぼへぼ CTO 「ちなみにこの件はCakePHP開発側に伝えるべきなのだろうか。しかしこれだけ確信的にコードに書かれていると「仕様です」という感じがしないでもない。」
- getClientIPだと、うまくIPアドレスが取れないことがあって使ってなかった($_SERVER['REMOTE_ADDR']を見てた)けど、ソース見てなかった。反省。
- CakePHPのgetClientIPに任意のIPを注入できる
- 「getClientIPには任意のIPアドレスを注入できる」「httpリクエストヘッダに記述されるX-FORWARDED-FORの値は、webサーバにとってはまったく検証を経ていない信頼性の低いアドレス」
- CakePHP を使っていいのは小学生までなので、全く問題がない。
- X-FORWARDED-FORは信用しないこと.でもこういう実装は他のWebアプリにもありそう.
- 「getClientIPには任意のIPアドレスを注入できる」「X-FORWARDED-FORの値」「CakePHPでモバイルサイトを構築されている方はこの件を確認して」「個体識別番号認証でのIPアドレスチェック」
- これはあぶない。ちなみに実際のコードでは$_SERVER['REMOTE_ADDR']はenv('REMOTE_ADDR')かな。









