Home > CPAN | Perl | 言語 > [Perl][CPAN] HTML::FillInForm 1.06 のバグ

[Perl][CPAN] HTML::FillInForm 1.06 のバグ

現在稼動中のASPでHTMLタグをエスケープするとなんかおかしくなるパターンがあったので、調べてみた。
どうやらHTML::FillInFormのバグっぽい。

INPUTタグの箇所でnameが同じ複数の項目に配列でセットすると、重複してHTMLタグがエスケープされるようです。

・template

HTML:
  1. <input type="text" id="flow_item_0" name="flow_item" size="55" maxlength="255"/>
  2. <input type="text" id="flow_item_1" name="flow_item" size="55" maxlength="255"/>
  3. <input type="text" id="flow_item_2" name="flow_item" size="55" maxlength="255"/>
  4. <input type="text" id="flow_item_3" name="flow_item" size="55" maxlength="255"/>
  5. <input type="text" id="flow_item_4" name="flow_item" size="55" maxlength="255"/>

・fill_formに渡す配列(Data::Dumperにて確認)

CODE:
  1. 'flow_item' => [
  2. '<a href="#">あ11</a>',
  3. '<a href="#">い22</a>',
  4. '<a href="#">う33</a>',
  5. '<a href="#">え44</a>',
  6. '<a href="#">お55</a>',
  7. ],

・出来上がるHTML

HTML:
  1. <input maxlength="255" value="<a href="#"/>あ11" name="flow_item" id="flow_item_0" type="text" size="55">
  2. <input maxlength="255" value="<a href="#">い22</a>" name="flow_item" id="flow_item_1" type="text" size="55"/>
  3. <input maxlength="255" value="<a href="#">う33</a>" name="flow_item" id="flow_item_2" type="text" size="55"/>
  4. <input maxlength="255" value="<a href="#">え44</a>" name="flow_item" id="flow_item_3" type="text" size="55"/>
  5. <input maxlength="255" value="&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;お55&amp;lt;/a&amp;gt;" name="flow_item" id="flow_item_4" type="text" size="55"/>

うっはーー!配列が増えると増えるだけエスケープされていくじゃん!!ひでー。

てことで、モジュールを以下のように変更。
うーん、これでほんとに大丈夫なんかなぁ…。

PERL:
  1. $ diff FillInForm.pm.org FillInForm.pm
  2. 305a306
  3. +       last;

実用Perlプログラミング
実用Perlプログラミング

Comments:1

[ま] 08-04-22 (火) 18:52

2.00 でだけど、指摘している人がいました。
http://rt.cpan.org/Public/Bug/Display.html?id=34081
そのうち直るんじゃないかと…。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.kaburk.com/lang/perl/bug-html-fillinform.html/trackback
Listed below are links to weblogs that reference
[Perl][CPAN] HTML::FillInForm 1.06 のバグ from [ま]技術雑記

Home > CPAN | Perl | 言語 > [Perl][CPAN] HTML::FillInForm 1.06 のバグ

Translator
ドリコム ジョブボード
edita.jp
メタ情報

Return to page top