From mizoguchi.reo @ gmail.com Tue Apr 6 15:12:43 2010 From: mizoguchi.reo @ gmail.com (=?ISO-2022-JP?B?GyRCOUI4fRsoQiAbJEJOYU06GyhC?=) Date: Tue, 06 Apr 2010 15:12:43 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE4bKEI=?= =?iso-2022-jp?b?GyRCQEg8ZUAtGyhC?= In-Reply-To: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> Message-ID: Kenji 様 お世話になっております。溝口です。 Kenji Suzuki さんwrote: > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールドを > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる > 可能性があります。 > > 詳細 > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 上記ページに記載して頂いたパッチを当てたところ、たとえば ---------- $row): ?> ...(中略)... F_SORT . '[]', 'value' => $row[DBC_SORT], // (A) 'size' => '2', 'tabindex' => $idx + 1 )) . LF ?> ...(中略)... ---------- のようにform_input()関数をループ中で繰り返し呼び出している箇所で、 value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$rowsの 1番目の要素の値になってしまいました。 パッチを元に戻すとこの現象は起こりません。 これはどのように対処すべきでしょうか? よろしくお願いいたします。 __________________________ _________________________________________/ Original Message Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパーの 脆弱性 From: Kenji Suzuki To : codeigniter-users @ lists.sourceforge.jp Cc : -- Date: 2010/03/16 10:07:28 > Kenji です。 > > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールドを > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる > 可能性があります。 > > 詳細 > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > これ、なかなか修正されないのでバグでないのかも知れませんが。 > このバグに当たるような実装をすることは少ないと思いますが、知らずに > やってしまうと危険ですので、注意喚起しておきます。 > > > 本家では、以下に書き込みがあります。バグだと思われる方は、「バグなの > で > 直してくれ」みたいなことを書き込んでもらえるといいかもしれません。 > > * http://codeigniter.com/bug_tracker/bug/11284/ > * http://codeigniter.com/forums/viewthread/139112/ > > > // Kenji > > _______________________________________________ > Codeigniter-users mailing list > Codeigniter-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users ____________________________________________________________________ From kenji.uui @ gmail.com Tue Apr 6 17:09:36 2010 From: kenji.uui @ gmail.com (Kenji Suzuki) Date: Tue, 6 Apr 2010 17:09:36 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE5ASDxlQC0bKEI=?= In-Reply-To: References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> Message-ID: <20100406170936.c6cec0da.kenji.uui@gmail.com> Kenji です。 On Tue, 06 Apr 2010 15:12:43 +0900 溝口 令雄 wrote: > Kenji 様 > > お世話になっております。溝口です。 > > Kenji Suzuki さんwrote: > > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールドを > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる > > 可能性があります。 > > > > 詳細 > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > 上記ページに記載して頂いたパッチを当てたところ、たとえば > > ---------- > $row): ?> > ...(中略)... > 'name' => F_SORT . '[]', > 'value' => $row[DBC_SORT], // (A) > 'size' => '2', > 'tabindex' => $idx + 1 > )) . LF ?> > ...(中略)... > > ---------- > > のようにform_input()関数をループ中で繰り返し呼び出している箇所で、 > value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$rowsの > 1番目の要素の値になってしまいました。 > パッチを元に戻すとこの現象は起こりません。 > > これはどのように対処すべきでしょうか? なるほど。そうですか。 となると、この if文自体を削除した方がいいでしょうかね。 if (isset($prepped_fields[$field_name])) { return $str; } // Kenji > よろしくお願いいたします。 > > > __________________________ > _________________________________________/ Original Message > Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパーの > 脆弱性 > From: Kenji Suzuki > To : codeigniter-users @ lists.sourceforge.jp > Cc : -- > Date: 2010/03/16 10:07:28 > > > Kenji です。 > > > > > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールドを > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる > > 可能性があります。 > > > > 詳細 > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > > > これ、なかなか修正されないのでバグでないのかも知れませんが。 > > このバグに当たるような実装をすることは少ないと思いますが、知らずに > > やってしまうと危険ですので、注意喚起しておきます。 > > > > > > 本家では、以下に書き込みがあります。バグだと思われる方は、「バグなの > > で > > 直してくれ」みたいなことを書き込んでもらえるといいかもしれません。 > > > > * http://codeigniter.com/bug_tracker/bug/11284/ > > * http://codeigniter.com/forums/viewthread/139112/ > > > > > > // Kenji > > > > _______________________________________________ > > Codeigniter-users mailing list > > Codeigniter-users @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > ____________________________________________________________________ > > _______________________________________________ > Codeigniter-users mailing list > Codeigniter-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users From mizoguchi.reo @ gmail.com Tue Apr 6 18:03:14 2010 From: mizoguchi.reo @ gmail.com (=?ISO-2022-JP?B?GyRCOUI4fRsoQiAbJEJOYU06GyhC?=) Date: Tue, 06 Apr 2010 18:03:14 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE4bKEI=?= =?iso-2022-jp?b?GyRCQEg8ZUAtGyhC?= In-Reply-To: <20100406170936.c6cec0da.kenji.uui@gmail.com> References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> <20100406170936.c6cec0da.kenji.uui@gmail.com> Message-ID: <4bbaf8d6.c501be0a.7aed.66f4@mx.google.com> お世話になっております。溝口です。 Kenji Suzuki さんwrote: > となると、この if文自体を削除した方がいいでしょうかね。 > > if (isset($prepped_fields[$field_name])) > { > return $str; > } ここを削除すると確かに前の値は残らなくなりますが、 set_value() を2度呼び出した場合、& が 1度目では $amp; 2度目では &amp; と変換されるようになります(※)。 パッチ適用時には、※の問題は起こりません。 よろしくお願いいたします。 __________________________ _________________________________________/ Original Message Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー の脆弱性 From: Kenji Suzuki To : codeigniter-users @ lists.sourceforge.jp Cc : -- Date: 2010/04/06 17:09:36 > Kenji です。 > > > On Tue, 06 Apr 2010 15:12:43 +0900 > 溝口 令雄 wrote: > > > Kenji 様 > > > > お世話になっております。溝口です。 > > > > Kenji Suzuki さんwrote: > > > > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールド > > > を > > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性にな > > > る > > > 可能性があります。 > > > > > > 詳細 > > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > > > 上記ページに記載して頂いたパッチを当てたところ、たとえば > > > > ---------- > > $row): ?> > > ...(中略)... > > > 'name' => F_SORT . '[]', > > 'value' => $row[DBC_SORT], // (A) > > 'size' => '2', > > 'tabindex' => $idx + 1 > > )) . LF ?> > > ...(中略)... > > > > ---------- > > > > のようにform_input()関数をループ中で繰り返し呼び出している箇所で、 > > value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$rowsの > > 1番目の要素の値になってしまいました。 > > パッチを元に戻すとこの現象は起こりません。 > > > > これはどのように対処すべきでしょうか? > > なるほど。そうですか。 > > となると、この if文自体を削除した方がいいでしょうかね。 > > if (isset($prepped_fields[$field_name])) > { > return $str; > } > > > // Kenji > > > > よろしくお願いいたします。 > > > > > > ________________________ > > __ > > _________________________________________/ Original Message > > Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー > > の > > 脆弱性 > > From: Kenji Suzuki > > To : codeigniter-users @ lists.sourceforge.jp > > Cc : -- > > Date: 2010/03/16 10:07:28 > > > > > Kenji です。 > > > > > > > > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールド > > > を > > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性にな > > > る > > > 可能性があります。 > > > > > > 詳細 > > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > > > > > これ、なかなか修正されないのでバグでないのかも知れませんが。 > > > このバグに当たるような実装をすることは少ないと思いますが、知らず > > > に > > > やってしまうと危険ですので、注意喚起しておきます。 > > > > > > > > > 本家では、以下に書き込みがあります。バグだと思われる方は、「バグ > > > なの > > > で > > > 直してくれ」みたいなことを書き込んでもらえるといいかもしれません。 > > > > > > * http://codeigniter.com/bug_tracker/bug/11284/ > > > * http://codeigniter.com/forums/viewthread/139112/ > > > > > > > > > // Kenji > > > > > > _______________________________________________ > > > Codeigniter-users mailing list > > > Codeigniter-users @ lists.sourceforge.jp > > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > __________________________________________________________________ > > __ > > > > _______________________________________________ > > Codeigniter-users mailing list > > Codeigniter-users @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > _______________________________________________ > Codeigniter-users mailing list > Codeigniter-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users ____________________________________________________________________ From tsujioka @ m-s.co.jp Tue Apr 6 18:49:52 2010 From: tsujioka @ m-s.co.jp (kunitsuji) Date: Tue, 06 Apr 2010 18:49:52 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE4bKEI=?= =?iso-2022-jp?b?GyRCQEg8ZUAtGyhC?= In-Reply-To: <4bbaf8d6.c501be0a.7aed.66f4@mx.google.com> References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> <20100406170936.c6cec0da.kenji.uui@gmail.com> <4bbaf8d6.c501be0a.7aed.66f4@mx.google.com> Message-ID:  kunitsujiです。 これって、FORMで配列で値を受け取った時、ということですか。 >お世話になっております。溝口です。 > >Kenji Suzuki さんwrote: > >> となると、この if文自体を削除した方がいいでしょうかね。 >> >> if (isset($prepped_fields[$field_name])) >> { >> return $str; >> } > >ここを削除すると確かに前の値は残らなくなりますが、 >set_value() を2度呼び出した場合、& が >1度目では $amp; >2度目では &amp; >と変換されるようになります(※)。 > >パッチ適用時には、※の問題は起こりません。 > >よろしくお願いいたします。 > > > __________________________ >_________________________________________/ Original Message >Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー >の脆弱性 >From: Kenji Suzuki >To : codeigniter-users @ lists.sourceforge.jp >Cc : -- >Date: 2010/04/06 17:09:36 > >> Kenji です。 >> >> >> On Tue, 06 Apr 2010 15:12:43 +0900 >> 溝口 令雄 wrote: >> >> > Kenji 様 >> > >> > お世話になっております。溝口です。 >> > >> > Kenji Suzuki さんwrote: >> > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールド >> > > を >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性にな >> > > る >> > > 可能性があります。 >> > > >> > > 詳細 >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 >> > >> > 上記ページに記載して頂いたパッチを当てたところ、たとえば >> > >> > ---------- >> > $row): ?> >> > ...(中略)... >> > > > 'name' => F_SORT . '[]', >> > 'value' => $row[DBC_SORT], // (A) >> > 'size' => '2', >> > 'tabindex' => $idx + 1 >> > )) . LF ?> >> > ...(中略)... >> > >> > ---------- >> > >> > のようにform_input()関数をループ中で繰り返し呼び出している箇所で、 >> > value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$rowsの >> > 1番目の要素の値になってしまいました。 >> > パッチを元に戻すとこの現象は起こりません。 >> > >> > これはどのように対処すべきでしょうか? >> >> なるほど。そうですか。 >> >> となると、この if文自体を削除した方がいいでしょうかね。 >> >> if (isset($prepped_fields[$field_name])) >> { >> return $str; >> } >> >> >> // Kenji >> >> >> > よろしくお願いいたします。 >> > >> > >> > ________________________ >> > __ >> > _________________________________________/ Original Message >> > Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー >> > の >> > 脆弱性 >> > From: Kenji Suzuki >> > To : codeigniter-users @ lists.sourceforge.jp >> > Cc : -- >> > Date: 2010/03/16 10:07:28 >> > >> > > Kenji です。 >> > > >> > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールド >> > > を >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性にな >> > > る >> > > 可能性があります。 >> > > >> > > 詳細 >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 >> > > >> > > これ、なかなか修正されないのでバグでないのかも知れませんが。 >> > > このバグに当たるような実装をすることは少ないと思いますが、知らず >> > > に >> > > やってしまうと危険ですので、注意喚起しておきます。 >> > > >> > > >> > > 本家では、以下に書き込みがあります。バグだと思われる方は、「バグ >> > > なの >> > > で >> > > 直してくれ」みたいなことを書き込んでもらえるといいかもしれません。 >> > > >> > > * http://codeigniter.com/bug_tracker/bug/11284/ >> > > * http://codeigniter.com/forums/viewthread/139112/ >> > > >> > > >> > > // Kenji >> > > >> > > _______________________________________________ >> > > Codeigniter-users mailing list >> > > Codeigniter-users @ lists.sourceforge.jp >> > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> > __________________________________________________________________ >> > __ >> > >> > _______________________________________________ >> > Codeigniter-users mailing list >> > Codeigniter-users @ lists.sourceforge.jp >> > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> >> _______________________________________________ >> Codeigniter-users mailing list >> Codeigniter-users @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >____________________________________________________________________ > >_______________________________________________ >Codeigniter-users mailing list >Codeigniter-users @ lists.sourceforge.jp >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users From mizoguchi.reo @ gmail.com Tue Apr 6 21:41:22 2010 From: mizoguchi.reo @ gmail.com (=?ISO-2022-JP?B?GyRCOUI4fRsoQiAbJEJOYU06GyhC?=) Date: Tue, 06 Apr 2010 21:41:22 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE4bKEI=?= =?iso-2022-jp?b?GyRCQEg8ZUAtGyhC?= In-Reply-To: References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> <20100406170936.c6cec0da.kenji.uui@gmail.com> <4bbaf8d6.c501be0a.7aed.66f4@mx.google.com> Message-ID: お世話になっております。溝口です。 kunitsuji さんwrote: > これって、FORMで配列で値を受け取った時、ということですか。 いえ、set_value() を複数回呼んでいるのは、配列を受け取っている画面では ありません。別の機能です。 このスレッドの最初に、 Kenji Suzuki さんwrote: > このバグに当たるような実装をすることは少ないと思いますが、 とKenji様がおっしゃっているとおり、同じフィールドに対して set_value() を複数回呼ぶという実装がまずいのかもしれません。 ・同一フィールド(パラメータ)に対するset_value()の呼び出しは1回のみ とルールを決め、パッチは適用せずに元のまま使い、必要であれば、 ---------- $value = set_value('field_name', $default_value); ---------- と一旦変数に入れて、それを複数回出力するようにした方が安全なのかもしれ ないです。 ほぼ初めてCodeIgniterを使用しているので、これがCodeIgniter的に正しい作 法なのかどうなのかいまいちよく分からないのですが… よろしくお願いいたします。 __________________________ _________________________________________/ Original Message Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー の脆弱性 From: kunitsuji To : codeigniter-users @ lists.sourceforge.jp Cc : -- Date: 2010/04/06 18:49:52 >  kunitsujiです。 > > これって、FORMで配列で値を受け取った時、ということですか。 > > > >お世話になっております。溝口です。 > > > >Kenji Suzuki さんwrote: > > > >> となると、この if文自体を削除した方がいいでしょうかね。 > >> > >> if (isset($prepped_fields[$field_name])) > >> { > >> return $str; > >> } > > > >ここを削除すると確かに前の値は残らなくなりますが、 > >set_value() を2度呼び出した場合、& が > >1度目では $amp; > >2度目では &amp; > >と変換されるようになります(※)。 > > > >パッチ適用時には、※の問題は起こりません。 > > > >よろしくお願いいたします。 > > > > > > _________________________ > > _ > >_________________________________________/ Original Message > >Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘル > >パー > >の脆弱性 > >From: Kenji Suzuki > >To : codeigniter-users @ lists.sourceforge.jp > >Cc : -- > >Date: 2010/04/06 17:09:36 > > > >> Kenji です。 > >> > >> > >> On Tue, 06 Apr 2010 15:12:43 +0900 > >> 溝口 令雄 wrote: > >> > >> > Kenji 様 > >> > > >> > お世話になっております。溝口です。 > >> > > >> > Kenji Suzuki さんwrote: > >> > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィー > >> > > ルド > >> > > を > >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性 > >> > > にな > >> > > る > >> > > 可能性があります。 > >> > > > >> > > 詳細 > >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > >> > > >> > 上記ページに記載して頂いたパッチを当てたところ、たとえば > >> > > >> > ---------- > >> > $row): ?> > >> > ...(中略)... > >> > >> > 'name' => F_SORT . '[]', > >> > 'value' => $row[DBC_SORT], // (A) > >> > 'size' => '2', > >> > 'tabindex' => $idx + 1 > >> > )) . LF ?> > >> > ...(中略)... > >> > > >> > ---------- > >> > > >> > のようにform_input()関数をループ中で繰り返し呼び出している箇所で、 > >> > value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$ > >> > rowsの > >> > 1番目の要素の値になってしまいました。 > >> > パッチを元に戻すとこの現象は起こりません。 > >> > > >> > これはどのように対処すべきでしょうか? > >> > >> なるほど。そうですか。 > >> > >> となると、この if文自体を削除した方がいいでしょうかね。 > >> > >> if (isset($prepped_fields[$field_name])) > >> { > >> return $str; > >> } > >> > >> > >> // Kenji > >> > >> > >> > よろしくお願いいたします。 > >> > > >> > > >> > _____________________ > >> > ___ > >> > __ > >> > _________________________________________/ Original Message > >> > Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘル > >> > パー > >> > の > >> > 脆弱性 > >> > From: Kenji Suzuki > >> > To : codeigniter-users @ lists.sourceforge.jp > >> > Cc : -- > >> > Date: 2010/03/16 10:07:28 > >> > > >> > > Kenji です。 > >> > > > >> > > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィー > >> > > ルド > >> > > を > >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性 > >> > > にな > >> > > る > >> > > 可能性があります。 > >> > > > >> > > 詳細 > >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > >> > > > >> > > これ、なかなか修正されないのでバグでないのかも知れませんが。 > >> > > このバグに当たるような実装をすることは少ないと思いますが、知ら > >> > > ず > >> > > に > >> > > やってしまうと危険ですので、注意喚起しておきます。 > >> > > > >> > > > >> > > 本家では、以下に書き込みがあります。バグだと思われる方は、「バ > >> > > グ > >> > > なの > >> > > で > >> > > 直してくれ」みたいなことを書き込んでもらえるといいかもしれませ > >> > > ん。 > >> > > > >> > > * http://codeigniter.com/bug_tracker/bug/11284/ > >> > > * http://codeigniter.com/forums/viewthread/139112/ > >> > > > >> > > > >> > > // Kenji > >> > > > >> > > _______________________________________________ > >> > > Codeigniter-users mailing list > >> > > Codeigniter-users @ lists.sourceforge.jp > >> > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > >> > _______________________________________________________________ > >> > ___ > >> > __ > >> > > >> > _______________________________________________ > >> > Codeigniter-users mailing list > >> > Codeigniter-users @ lists.sourceforge.jp > >> > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > >> > >> _______________________________________________ > >> Codeigniter-users mailing list > >> Codeigniter-users @ lists.sourceforge.jp > >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > >___________________________________________________________________ > >_ > > > >_______________________________________________ > >Codeigniter-users mailing list > >Codeigniter-users @ lists.sourceforge.jp > >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > _______________________________________________ > Codeigniter-users mailing list > Codeigniter-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users ____________________________________________________________________ From kenji.uui @ gmail.com Tue Apr 6 22:50:55 2010 From: kenji.uui @ gmail.com (Kenji Suzuki) Date: Tue, 6 Apr 2010 22:50:55 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCJWYhPCU2JSwlJCVJGyhCIDIu?= =?iso-2022-jp?b?MC4wIBskQiROS11MdTpuNkgkTjMrO08bKEI=?= In-Reply-To: <20100319133038.16ac9538.kenji.uui@gmail.com> References: <20100319133038.16ac9538.kenji.uui@gmail.com> Message-ID: <20100406225055.a33ca0e4.kenji.uui@gmail.com> Kenji です。 On Fri, 19 Mar 2010 13:30:38 +0900 Kenji Suzuki wrote: > 2.0.0 のリリースはまだいつかわかりませんが、2.0.0 のリポジトリが公開 > されたことに伴い、現行の 1.7.2 からかなり日がたち変更点も多くなって > いますので、現在のリポジトリに基づいて、翻訳作業を開始したいと思います。 > > 作業準備を以下に整えました。 > > http://sourceforge.jp/projects/codeigniter/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%AC%E3%82%A4%E3%83%89%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%882.0.0%E4%BD%9C%E6%88%90 > > 翻訳できる方は、どんどん翻訳をお願いします。 翻訳作業進んでいますが、新規ファイルはまだ残っています。 英語が得意な方は、新規ファイルを翻訳していただけますと 助かります。 // Kenji From kenji.uui @ gmail.com Tue Apr 6 22:56:36 2010 From: kenji.uui @ gmail.com (Kenji Suzuki) Date: Tue, 6 Apr 2010 22:56:36 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE5ASDxlQC0bKEI=?= In-Reply-To: References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> <20100406170936.c6cec0da.kenji.uui@gmail.com> <4bbaf8d6.c501be0a.7aed.66f4@mx.google.com> Message-ID: <20100406225636.f4030c41.kenji.uui@gmail.com> Kenji です。 On Tue, 06 Apr 2010 21:41:22 +0900 溝口 令雄 wrote: > お世話になっております。溝口です。 > > kunitsuji さんwrote: > > > これって、FORMで配列で値を受け取った時、ということですか。 > > いえ、set_value() を複数回呼んでいるのは、配列を受け取っている画面では > ありません。別の機能です。 > > このスレッドの最初に、 > > Kenji Suzuki さんwrote: > > > このバグに当たるような実装をすることは少ないと思いますが、 > > とKenji様がおっしゃっているとおり、同じフィールドに対して set_value() > を複数回呼ぶという実装がまずいのかもしれません。 > > ・同一フィールド(パラメータ)に対するset_value()の呼び出しは1回のみ > > とルールを決め、パッチは適用せずに元のまま使い、必要であれば、 > > ---------- > $value = set_value('field_name', $default_value); > ---------- > > と一旦変数に入れて、それを複数回出力するようにした方が安全なのかもしれ > ないです。 > ほぼ初めてCodeIgniterを使用しているので、これがCodeIgniter的に正しい作 > 法なのかどうなのかいまいちよく分からないのですが… バグっているので、CodeIgniter的に正しいもなにもないと思います。 こういうコーディングルールは単なるバグの回避策ですね。 バグが深いみたいですので、修正するには、バグを再現できるサンプルと、 きちんとしたデバッグ作業が必要ですね。 // Kenji > よろしくお願いいたします。 > > __________________________ > _________________________________________/ Original Message > Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー > の脆弱性 > From: kunitsuji > To : codeigniter-users @ lists.sourceforge.jp > Cc : -- > Date: 2010/04/06 18:49:52 > > >  kunitsujiです。 > > > > これって、FORMで配列で値を受け取った時、ということですか。 > > > > > > >お世話になっております。溝口です。 > > > > > >Kenji Suzuki さんwrote: > > > > > >> となると、この if文自体を削除した方がいいでしょうかね。 > > >> > > >> if (isset($prepped_fields[$field_name])) > > >> { > > >> return $str; > > >> } > > > > > >ここを削除すると確かに前の値は残らなくなりますが、 > > >set_value() を2度呼び出した場合、& が > > >1度目では $amp; > > >2度目では &amp; > > >と変換されるようになります(※)。 > > > > > >パッチ適用時には、※の問題は起こりません。 > > > > > >よろしくお願いいたします。 > > > > > > > > > _________________________ > > > _ > > >_________________________________________/ Original Message > > >Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘル > > >パー > > >の脆弱性 > > >From: Kenji Suzuki > > >To : codeigniter-users @ lists.sourceforge.jp > > >Cc : -- > > >Date: 2010/04/06 17:09:36 > > > > > >> Kenji です。 > > >> > > >> > > >> On Tue, 06 Apr 2010 15:12:43 +0900 > > >> 溝口 令雄 wrote: > > >> > > >> > Kenji 様 > > >> > > > >> > お世話になっております。溝口です。 > > >> > > > >> > Kenji Suzuki さんwrote: > > >> > > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィー > > >> > > ルド > > >> > > を > > >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性 > > >> > > にな > > >> > > る > > >> > > 可能性があります。 > > >> > > > > >> > > 詳細 > > >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > >> > > > >> > 上記ページに記載して頂いたパッチを当てたところ、たとえば > > >> > > > >> > ---------- > > >> > $row): ?> > > >> > ...(中略)... > > >> > > >> > 'name' => F_SORT . '[]', > > >> > 'value' => $row[DBC_SORT], // (A) > > >> > 'size' => '2', > > >> > 'tabindex' => $idx + 1 > > >> > )) . LF ?> > > >> > ...(中略)... > > >> > > > >> > ---------- > > >> > > > >> > のようにform_input()関数をループ中で繰り返し呼び出している箇所で、 > > >> > value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$ > > >> > rowsの > > >> > 1番目の要素の値になってしまいました。 > > >> > パッチを元に戻すとこの現象は起こりません。 > > >> > > > >> > これはどのように対処すべきでしょうか? > > >> > > >> なるほど。そうですか。 > > >> > > >> となると、この if文自体を削除した方がいいでしょうかね。 > > >> > > >> if (isset($prepped_fields[$field_name])) > > >> { > > >> return $str; > > >> } > > >> > > >> > > >> // Kenji > > >> > > >> > > >> > よろしくお願いいたします。 > > >> > > > >> > > > >> > _____________________ > > >> > ___ > > >> > __ > > >> > _________________________________________/ Original Message > > >> > Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘル > > >> > パー > > >> > の > > >> > 脆弱性 > > >> > From: Kenji Suzuki > > >> > To : codeigniter-users @ lists.sourceforge.jp > > >> > Cc : -- > > >> > Date: 2010/03/16 10:07:28 > > >> > > > >> > > Kenji です。 > > >> > > > > >> > > > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィー > > >> > > ルド > > >> > > を > > >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性 > > >> > > にな > > >> > > る > > >> > > 可能性があります。 > > >> > > > > >> > > 詳細 > > >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > >> > > > > >> > > これ、なかなか修正されないのでバグでないのかも知れませんが。 > > >> > > このバグに当たるような実装をすることは少ないと思いますが、知ら > > >> > > ず > > >> > > に > > >> > > やってしまうと危険ですので、注意喚起しておきます。 > > >> > > > > >> > > > > >> > > 本家では、以下に書き込みがあります。バグだと思われる方は、「バ > > >> > > グ > > >> > > なの > > >> > > で > > >> > > 直してくれ」みたいなことを書き込んでもらえるといいかもしれませ > > >> > > ん。 > > >> > > > > >> > > * http://codeigniter.com/bug_tracker/bug/11284/ > > >> > > * http://codeigniter.com/forums/viewthread/139112/ > > >> > > > > >> > > > > >> > > // Kenji > > >> > > > > >> > > _______________________________________________ > > >> > > Codeigniter-users mailing list > > >> > > Codeigniter-users @ lists.sourceforge.jp > > >> > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > >> > _______________________________________________________________ > > >> > ___ > > >> > __ > > >> > > > >> > _______________________________________________ > > >> > Codeigniter-users mailing list > > >> > Codeigniter-users @ lists.sourceforge.jp > > >> > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > >> > > >> _______________________________________________ > > >> Codeigniter-users mailing list > > >> Codeigniter-users @ lists.sourceforge.jp > > >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > >___________________________________________________________________ > > >_ > > > > > >_______________________________________________ > > >Codeigniter-users mailing list > > >Codeigniter-users @ lists.sourceforge.jp > > >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > > > _______________________________________________ > > Codeigniter-users mailing list > > Codeigniter-users @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > ____________________________________________________________________ > > _______________________________________________ > Codeigniter-users mailing list > Codeigniter-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users From mizoguchi.reo @ gmail.com Wed Apr 7 12:28:06 2010 From: mizoguchi.reo @ gmail.com (=?ISO-2022-JP?B?GyRCOUI4fRsoQiAbJEJOYU06GyhC?=) Date: Wed, 07 Apr 2010 12:28:06 +0900 Subject: [Codeigniter-users] =?iso-2022-jp?b?GyRCIVpDbTBVNC01LyFbGyhCQ29k?= =?iso-2022-jp?b?ZUlnbml0ZXIgMS43LjIgRm9ybRskQiVYJWslUSE8JE4bKEI=?= =?iso-2022-jp?b?GyRCQEg8ZUAtGyhC?= In-Reply-To: <20100406225636.f4030c41.kenji.uui@gmail.com> References: <20100316100728.f0d7a7e3.kenji.uui@gmail.com> <20100406170936.c6cec0da.kenji.uui@gmail.com> <4bbaf8d6.c501be0a.7aed.66f4@mx.google.com> <20100406225636.f4030c41.kenji.uui@gmail.com> Message-ID: お世話になっております。溝口です。 Kenji Suzuki さんwrote: > バグっているので、CodeIgniter的に正しいもなにもないと思います。 > こういうコーディングルールは単なるバグの回避策ですね。 なるほど、そうですよね。 ではとりあえず将来的にバグが修正される事を期待しつつ、 現段階では、form_prep()関数を下記のように書き換えて 使用を続けてみたいと思います。テスト不十分ですが… ---------- function form_prep($str = '', $field_name = '') { // if the field name is an array we do this recursively if (is_array($str)) { foreach ($str as $key => $val) { $str[$key] = form_prep($val); } return $str; } if ($str === '') { return ''; } $pairs = array_merge( array_flip(get_html_translation_table(HTML_SPECIALCHARS)), array("'" => "'", """ => '"') ); $str = strtr($str, $pairs); $str = htmlspecialchars($str); // In case htmlspecialchars misses these. $str = str_replace(array("'", '"'), array("'", """), $str) ; return $str; } ---------- よろしくお願いいたします。 __________________________ _________________________________________/ Original Message Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー の脆弱性 From: Kenji Suzuki To : codeigniter-users @ lists.sourceforge.jp Cc : -- Date: 2010/04/06 22:56:36 > Kenji です。 > > > On Tue, 06 Apr 2010 21:41:22 +0900 > 溝口 令雄 wrote: > > > お世話になっております。溝口です。 > > > > kunitsuji さんwrote: > > > > > これって、FORMで配列で値を受け取った時、ということですか。 > > > > いえ、set_value() を複数回呼んでいるのは、配列を受け取っている画面 > > では > > ありません。別の機能です。 > > > > このスレッドの最初に、 > > > > Kenji Suzuki さんwrote: > > > > > このバグに当たるような実装をすることは少ないと思いますが、 > > > > とKenji様がおっしゃっているとおり、同じフィールドに対して set_ > > value() > > を複数回呼ぶという実装がまずいのかもしれません。 > > > > ・同一フィールド(パラメータ)に対するset_value()の呼び出しは1回の > > み > > > > とルールを決め、パッチは適用せずに元のまま使い、必要であれば、 > > > > ---------- > > $value = set_value('field_name', $default_value); > > ---------- > > > > と一旦変数に入れて、それを複数回出力するようにした方が安全なのかも > > しれ > > ないです。 > > ほぼ初めてCodeIgniterを使用しているので、これがCodeIgniter的に正し > > い作 > > 法なのかどうなのかいまいちよく分からないのですが… > > バグっているので、CodeIgniter的に正しいもなにもないと思います。 > こういうコーディングルールは単なるバグの回避策ですね。 > > バグが深いみたいですので、修正するには、バグを再現できるサンプルと、 > きちんとしたデバッグ作業が必要ですね。 > > > // Kenji > > > > よろしくお願いいたします。 > > > > ________________________ > > __ > > _________________________________________/ Original Message > > Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘ > > ルパー > > の脆弱性 > > From: kunitsuji > > To : codeigniter-users @ lists.sourceforge.jp > > Cc : -- > > Date: 2010/04/06 18:49:52 > > > > >  kunitsujiです。 > > > > > > これって、FORMで配列で値を受け取った時、ということですか。 > > > > > > > > > >お世話になっております。溝口です。 > > > > > > > >Kenji Suzuki さんwrote: > > > > > > > >> となると、この if文自体を削除した方がいいでしょうかね。 > > > >> > > > >> if (isset($prepped_fields[$field_name])) > > > >> { > > > >> return $str; > > > >> } > > > > > > > >ここを削除すると確かに前の値は残らなくなりますが、 > > > >set_value() を2度呼び出した場合、& が > > > >1度目では $amp; > > > >2度目では &amp; > > > >と変換されるようになります(※)。 > > > > > > > >パッチ適用時には、※の問題は起こりません。 > > > > > > > >よろしくお願いいたします。 > > > > > > > > > > > > _____________________ > > > > ____ > > > > _ > > > >_________________________________________/ Original Message > > > >Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 > > > >Formヘル > > > >パー > > > >の脆弱性 > > > >From: Kenji Suzuki > > > >To : codeigniter-users @ lists.sourceforge.jp > > > >Cc : -- > > > >Date: 2010/04/06 17:09:36 > > > > > > > >> Kenji です。 > > > >> > > > >> > > > >> On Tue, 06 Apr 2010 15:12:43 +0900 > > > >> 溝口 令雄 wrote: > > > >> > > > >> > Kenji 様 > > > >> > > > > >> > お世話になっております。溝口です。 > > > >> > > > > >> > Kenji Suzuki さんwrote: > > > >> > > > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフ > > > >> > > ィー > > > >> > > ルド > > > >> > > を > > > >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆 > > > >> > > 弱性 > > > >> > > にな > > > >> > > る > > > >> > > 可能性があります。 > > > >> > > > > > >> > > 詳細 > > > >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > > >> > > > > >> > 上記ページに記載して頂いたパッチを当てたところ、たとえば > > > >> > > > > >> > ---------- > > > >> > $row): ?> > > > >> > ...(中略)... > > > >> > > > >> > 'name' => F_SORT . '[]', > > > >> > 'value' => $row[DBC_SORT], // (A) > > > >> > 'size' => '2', > > > >> > 'tabindex' => $idx + 1 > > > >> > )) . LF ?> > > > >> > ...(中略)... > > > >> > > > > >> > ---------- > > > >> > > > > >> > のようにform_input()関数をループ中で繰り返し呼び出している箇 > > > >> > 所で、 > > > >> > value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$ > > > >> > rowsの > > > >> > 1番目の要素の値になってしまいました。 > > > >> > パッチを元に戻すとこの現象は起こりません。 > > > >> > > > > >> > これはどのように対処すべきでしょうか? > > > >> > > > >> なるほど。そうですか。 > > > >> > > > >> となると、この if文自体を削除した方がいいでしょうかね。 > > > >> > > > >> if (isset($prepped_fields[$field_name])) > > > >> { > > > >> return $str; > > > >> } > > > >> > > > >> > > > >> // Kenji > > > >> > > > >> > > > >> > よろしくお願いいたします。 > > > >> > > > > >> > > > > >> > _________________ > > > >> > ____ > > > >> > ___ > > > >> > __ > > > >> > _________________________________________/ Original > > > >> > Message > > > >> > Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 > > > >> > Formヘル > > > >> > パー > > > >> > の > > > >> > 脆弱性 > > > >> > From: Kenji Suzuki > > > >> > To : codeigniter-users @ lists.sourceforge.jp > > > >> > Cc : -- > > > >> > Date: 2010/03/16 10:07:28 > > > >> > > > > >> > > Kenji です。 > > > >> > > > > > >> > > > > > >> > > CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフ > > > >> > > ィー > > > >> > > ルド > > > >> > > を > > > >> > > 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆 > > > >> > > 弱性 > > > >> > > にな > > > >> > > る > > > >> > > 可能性があります。 > > > >> > > > > > >> > > 詳細 > > > >> > > http://d.hatena.ne.jp/Kenji_s/20100316/1268701194 > > > >> > > > > > >> > > これ、なかなか修正されないのでバグでないのかも知れませんが。 > > > >> > > このバグに当たるような実装をすることは少ないと思いますが、 > > > >> > > 知ら > > > >> > > ず > > > >> > > に > > > >> > > やってしまうと危険ですので、注意喚起しておきます。 > > > >> > > > > > >> > > > > > >> > > 本家では、以下に書き込みがあります。バグだと思われる方は、 > > > >> > > 「バ > > > >> > > グ > > > >> > > なの > > > >> > > で > > > >> > > 直してくれ」みたいなことを書き込んでもらえるといいかもしれ > > > >> > > ませ > > > >> > > ん。 > > > >> > > > > > >> > > * http://codeigniter.com/bug_tracker/bug/11284/ > > > >> > > * http://codeigniter.com/forums/viewthread/139112/ > > > >> > > > > > >> > > > > > >> > > // Kenji > > > >> > > > > > >> > > _______________________________________________ > > > >> > > Codeigniter-users mailing list > > > >> > > Codeigniter-users @ lists.sourceforge.jp > > > >> > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > > >> > ___________________________________________________________ > > > >> > ____ > > > >> > ___ > > > >> > __ > > > >> > > > > >> > _______________________________________________ > > > >> > Codeigniter-users mailing list > > > >> > Codeigniter-users @ lists.sourceforge.jp > > > >> > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > > >> > > > >> _______________________________________________ > > > >> Codeigniter-users mailing list > > > >> Codeigniter-users @ lists.sourceforge.jp > > > >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > > >_______________________________________________________________ > > > >____ > > > >_ > > > > > > > >_______________________________________________ > > > >Codeigniter-users mailing list > > > >Codeigniter-users @ lists.sourceforge.jp > > > >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > > > > > _______________________________________________ > > > Codeigniter-users mailing list > > > Codeigniter-users @ lists.sourceforge.jp > > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > __________________________________________________________________ > > __ > > > > _______________________________________________ > > Codeigniter-users mailing list > > Codeigniter-users @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > _______________________________________________ > Codeigniter-users mailing list > Codeigniter-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users ____________________________________________________________________ From itanaka @ netman-ss.co.jp Mon Apr 26 01:07:41 2010 From: itanaka @ netman-ss.co.jp (Isamu Tanaka) Date: Sun, 25 Apr 2010 16:07:41 +0000 Subject: [Codeigniter-users] =?utf-8?b?44CQ6LOq5ZWP44CR44OT44Ol44O844Gu?= =?utf-8?b?5qeL5oiQ44Gr44Gk44GE44Gm?= Message-ID: <20100425160741.4986.qmail@netman-ss.co.jp> 皆さま 初めまして田中と申します。 最近CodeIgniterを知り、早速CodeIgniter徹底入門を参考にしながら 少しずつ開発を始めました。 進めていく中で、つまずいてしまったので、 皆様の力を貸して頂きたくメールしました。 現在、以下のような画面構成を作成したいと考えています。 +------------------------+ | | | +--------------------+ | | |部品1(Parts1) | | | +--------------------+ | | | | +--------------------+ | | |部品2(Parts2) | | | +--------------------+ | | | | +--------------------+ | | |部品2(Parts2) | | | +--------------------+ | | | +------------------------+ 部品1:ヘッダ 部品2:リスト(同じビューファイルを利用して違う情報のリストを並べる) そこで、実現するために簡単なサンプルを作成しています。 同じ部品を利用する場合、設定する情報が異なるのですが、 未設定の場合はブランクを表示したいのですが、 前の部品で指定した情報が流用されて出てきました。 ブランクなどすべての情報を設定するとよいのですが、 それぞれのload->viewの戻り値は独立していると思ったいたため できれば必要な情報のみプログラム上で設定したいのですが、 このようなことはできないのでしょうか? 以下長くなりますが、サンプルプログラムを記載させて頂きます。 ■環境 XAMPP (Basis Package) version 1.7.3 + Apache 2.2.14 (IPV6 enabled) + PHP 5.3.1 (PEAR, Mail_Mime, MDB2, Zend) + CodeIgniter 1.7.2 ■コントローラ(sample.php) load->view('parts1', $parts1_data, TRUE); $parts2_data['parts_title']="2個目のタイトルです。"; $parts2_data['parts_comment']="hogehoge"; $data['parts2'] = $this->load->view('parts2', $parts2_data, TRUE); $parts3_data['parts_title']="3個目のタイトルです。"; $data['parts3'] = $this->load->view('parts2', $parts3_data, TRUE); $this->load->view('sample_show', $data); } } ?> ■ビュー(sample_show.php) ■部品1(parts1.php) :parts1のタイトルです。
:parts1のコメントです。

■部品2(parts2.php) :parts2のタイトルです。
:parts2のコメントです。

■実行結果 1個目のタイトルです。:parts1のタイトルです。 ほげほげ:parts1のコメントです。 -------------------------------------------------------------------------------- 2個目のタイトルです。:parts2のタイトルです。 hogehoge:parts2のコメントです。 -------------------------------------------------------------------------------- 3個目のタイトルです。:parts2のタイトルです。 hogehoge:parts2のコメントです。 ⇒部品3のコメントに部品2のコメントが表示されてしまう。  できれば部品3のコメント部分にはブランクが設定されてほしい  実際の想定しているプログラムでは設定値が多くあるため  不要な部分の初期化も含めてすべての設定をするのは避けたいのですが、  何か回避方法はあるのでしょうか? 以上です。よろしくお願いいたします。 From msyk @ msyk.net Mon Apr 26 10:18:43 2010 From: msyk @ msyk.net (=?UTF-8?B?5paw5bGF6ZuF6KGM?=) Date: Mon, 26 Apr 2010 10:18:43 +0900 (JST) Subject: [Codeigniter-users] =?utf-8?b?UmUt44CQ6LOq5ZWP44CR44OT44Ol44O8?= =?utf-8?b?44Gu5qeL5oiQ44Gr44Gk44GE44Gm?= In-Reply-To: <20100425160741.4986.qmail@netman-ss.co.jp> References: <20100425160741.4986.qmail@netman-ss.co.jp> Message-ID: <1544025324.1.1272244723749.JavaMail.msyk@msyk.net> 田中さん、はじめまして。 "Isamu Tanaka" さんが、2010/4/26 1:07:41に送られた   ---“[Codeigniter-users] 【質問】ビューの構成について”によりますと > ⇒部品3のコメントに部品2のコメントが表示されてしまう。 >  できれば部品3のコメント部分にはブランクが設定されてほしい ふーん、前のビューで使った変数に値が残ってしまうのでしょうね。 > >  実際の想定しているプログラムでは設定値が多くあるため >  不要な部分の初期化も含めてすべての設定をするのは避けたいのですが、 >  何か回避方法はあるのでしょうか? もしかしたら、残った変数を消す方法があるのかもしれませんが、私も知りません。 こういう場合、やはりすべての変数に入れることになりますが、配列を初期化してか らかかればいいのではないでしょうか? 「ブランク=何もしない」ということでは なく、ブランクもデータですから。 以下の部分ですが、 $parts3_data['parts_title']="3個目のタイトルです。"; $data['parts3'] = $this->load->view('parts2', $parts3_data, TRUE); たとえば、以下のように書くとうまくいくのじゃないでしょうか。 $parts3_data = array( 'parts_title' => '', 'parts_comment' => '' ); $parts3_data['parts_title']="3個目のタイトルです。"; $data['parts3'] = $this->load->view('parts2', $parts3_data, TRUE); 今はビューに持ち込む変数が2つだけですが、恐らくこれがたくさんあるのだと思いま す。使用するキーがすべてある配列をともかく用意して値はすべて長さ0の文字列にし ます。その後に必要なキーのものだけに値を代入すればいいかと思います。 _______________________________________________________________ 新居雅行/Masayuki Nii :iChat Ready Web Site / INTER-Mediator [for Web App] http://msyk.net/im OME [Email] http://mac-ome.jp / Tutoring Sevice http://msyk.net/tutoring.html 差出人のアドレスはML受信専用です。私信メールは@以前を“nii”で送付してください。 From itanaka @ netman-ss.co.jp Tue Apr 27 08:26:57 2010 From: itanaka @ netman-ss.co.jp (Isamu Tanaka) Date: Mon, 26 Apr 2010 23:26:57 +0000 Subject: [Codeigniter-users] =?utf-8?B?UmU6IFtDb2RlaWduaXRlci11c2Vyc10gUmUt44CQ6LOq5ZWP44CR44OT44Ol44O844Gu5qeL5oiQ 44Gr44Gk44GE44Gm?= Message-ID: <20100426232657.5709.qmail@netman-ss.co.jp> 新居さん 田中です。おはようございます。 回答ありがとうございました。 残った変数を消す方法が何か標準であれば。。と思いましたが、 新居さんのご提案どおりすべてのキーに長さ0の文字列を先に設定し その後必要な項目だけ再設定するようにします。 以上です。 --------On 4/26/2010 01:18 AM 新居雅行 wrote: 田中さん、はじめまして。 "Isamu Tanaka" さんが、2010/4/26 1:07:41に送られた   ---“[Codeigniter-users] 【質問】ビューの構成について”によりますと > ⇒部品3のコメントに部品2のコメントが表示されてしまう。 >  できれば部品3のコメント部分にはブランクが設定されてほしい ふーん、前のビューで使った変数に値が残ってしまうのでしょうね。 > >  実際の想定しているプログラムでは設定値が多くあるため >  不要な部分の初期化も含めてすべての設定をするのは避けたいのですが、 >  何か回避方法はあるのでしょうか? もしかしたら、残った変数を消す方法があるのかもしれませんが、私も知りません。 こういう場合、やはりすべての変数に入れることになりますが、配列を初期化してか らかかればいいのではないでしょうか? 「ブランク=何もしない」ということでは なく、ブランクもデータですから。 以下の部分ですが、 $parts3_data['parts_title']="3個目のタイトルです。"; $data['parts3'] = $this->load->view('parts2', $parts3_data, TRUE); たとえば、以下のように書くとうまくいくのじゃないでしょうか。 $parts3_data = array( 'parts_title' => '', 'parts_comment' => '' ); $parts3_data['parts_title']="3個目のタイトルです。"; $data['parts3'] = $this->load->view('parts2', $parts3_data, TRUE); 今はビューに持ち込む変数が2つだけですが、恐らくこれがたくさんあるのだと思いま す。使用するキーがすべてある配列をともかく用意して値はすべて長さ0の文字列にし ます。その後に必要なキーのものだけに値を代入すればいいかと思います。 _______________________________________________________________ 新居雅行/Masayuki Nii :iChat Ready Web Site / INTER-Mediator [for Web App] http://msyk.net/im OME [Email] http://mac-ome.jp / Tutoring Sevice http://msyk.net/tutoring.html 差出人のアドレスはML受信専用です。私信メールは@以前を“nii”で送付してください。 _______________________________________________ Codeigniter-users mailing list Codeigniter-users @ lists.sourceforge.jp http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users