この操作にはログインが必要です

ホーム > フォーラム > 開発 > モジュール開発 > リクエストパラメータのforeach展開の代替手段について

リクエストパラメータのforeach展開の代替手段について
投稿者: monsuke | 投稿日時: 2006-6-4 22:31 | 閲覧: 4487回
monsuke
とあるモジュールの改造を行っているのですが、以下のようにリクエストパラメータをforeachループで取得している箇所を、セキュアなコードに書き直そうと思っています。
foreach ($_POST as $k => $v) {${$k} = $v;}

この場合、渡される可能性があるパラメータを一つ一つ取得するしか方法はないのでしょうか?
全部洗い出すのは気が遠くなりそうなので、他に方法があればご教授ください。

よろしくお願いいたします。

コメント(2)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: リクエストパラメータのforeach展開の代替手段について 
投稿者: suin | 投稿日時: 2006-6-4 22:58
suin
monsukeさん、こんにちは。
引用:
monsukeさんは書きました:
とあるモジュールの改造を行っているのですが、以下のようにリクエストパラメータをforeachループで取得している箇所を、セキュアなコードに書き直そうと思っています。
foreach ($_POST as $k => $v) {${$k} = $v;}

この場合、渡される可能性があるパラメータを一つ一つ取得するしか方法はないのでしょうか?
全部洗い出すのは気が遠くなりそうなので、他に方法があればご教授ください。
パラメータがいくつあるのか分かりませんが、ひとつひとつ取得した方が確実だとは思いますが、パラメータが沢山あると骨が折れますよね。

さて、取得するパラメータがあらかじめ決まっているなら、ホワイトリストを作って、それを元に取得するというのはどうでしょうか?
//取得するパラメータを配列で指定
$array = array('para1', 'para2', 'para3', 'para4', 'para5', 'para6', 'para7');

foreach($array as $v){
    $$v = $_POST[$v];
}
Re: リクエストパラメータのforeach展開の代替手段について 
投稿者: monsuke | 投稿日時: 2006-6-5 6:58
monsuke
suinさん、こんにちは。
ご回答いただきありがとうございます。

なるほど〜。
ひとつずつ取得するよりはずいぶんシンプルになりますね。

参考にさせていただきます。

    投票(0)

    新しいものから | 古いものから | RSS feed
     

    概要 | ダウンロード | ニュース | フォーラム | 開発情報 | ツール | テーマ | モジュール
    お問い合わせ | プライバシーポリシー
    Copyright © 2001-2012 XOOPS Cube日本サイト