パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Apache+mod_perlのCSS予防法」記事へのコメント

  • Apache::Requestモジュールの代わりにApache::TaintRequestモジュールを使えば、フォームのインプットから自動的にや"やその他アヤシゲな文字をエスケープしてくれる

    入力に対してフィルタリングするのかな?と読めたのですが、そうではなく、出力時にエスケープ処理を施すのですよね。で、全部をエスケープしてしまうと、タグ自身を書き出す部分で困るので、Perlのtaintモード機能を活用して、入力に依存している変数をprintするときだけエスケープするようにしたと。

    この方法では次の問題が考えられるのではないでしょうか。

    • 出力したいタグ文字列に、
    • perl.comの記事にこのモジュールの使用例があるのですが、

      use Apache::TaintRequest;

      my $apr = Apache::TaintRequest->new(Apache->request);

      my $text = $apr->param('text');

      $r->content_type("text/html");
      $r->send_http_header;

      $r->print("You entered ", $text);

      $text =~ s/[^A-Za-z0-9 ]//;
      $r->print("You entered ", $text);

      ということで(説明になってないか…)、入力をフィルタリングしてから変数に格納する、というのがこのモジュールの機能です。
      既にデータベースに格納されているものに対しては対策になら

普通のやつらの下を行け -- バッドノウハウ専門家

処理中...