Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: クロスサイトスクリプティング脆弱性 (ver2.0.10)



竹迫です。

"NOKUBI Takatsugu" <knok@xxxxxxxxxxxxx> wrote:
> 
>   backword compatibility のために自分はこんな方法を考えていました。
> 
> * 変数 FILE *nmz_stderr を新設 (初期値は NULL)

→ これは、大域変数として static に宣言するということでしょうか?
   そうだとすると、namazu コマンドや namazu.cgi では、この方法でも
   大丈夫だと思いますが、libnmz を使用した Search::Namazu XS モジュール
   などにおいて、副作用が発生してしまうのではないでしょうか?

# もしかしたら、私が勘違いをしているのかもしれませんが...

> * API nmz_set_error_output(FILE *) を新設
>   (引数を nmz_stderr に代入)
> * nmz_search の先頭で nmz_stderr が NULL の時は stderr を設定
>   (デフォルトの挙動を現在に合わせる)

→ つまり、一度 nmz_set_error_output を呼び出してしまうと、
   その後は、再度 nmz_set_error_output を呼び出さない限り
   nmz_stderr の値は書き換えられないということです。

# あと、元々 libnmz がそうなのですが、適切なシリアライズを行わないと
# マルチスレッドの要求に対してはちょっと厳しそうですね。

"Ryuji Abe" <raeva@xxxxxxxxxxxx> wrote:
> > * rcfile.c に新たな directive ERRORFILE を追加
> 
> 単純に
> 
> namazu: 従来通りstderrに出力する。
> namazu.cgi: indexの置かれたディレクトリにNMZ.cgi.warn
>             (ファイル名は適当)を作って、そこに出力する。
> 
> ではダメですか?

なるほど、これは単純明快で良いと思います。

namazu コマンドや namazu.cgi は、検索時に NMZ.slog ファイルに追記
書き込みしていますから、その流れも汲んでいてわかりやすいと思います。

他に良さそうな案がなければ、この方法でいきませんか?

--
  広島市立大学 情報科学部 情報機械システム工学科 知能ロボット講座
     竹迫 良範 <takesako@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>