Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 検索のタイトル表示
寺西です
Toshio IMAO wrote:
>
> > もし、そうなら例えば次のような場合は
> >
> > <TITLE><abc></TITLE>
> >
> > これを
> >
> > <TITLE><abc></TITLE>
> >
> > と書き直せば、半角になりますが表示されるのではないかと思います。
> >
>
> 半角でOKですので、これをヒントに少しフィルターを調べてみました。
なぜ、フィルタに手を加えるのでしょう?
問題の HTML ファイルを修正するわけにはいかないのでしょうか?
> 下記、タイトルを取り出す部分? …4行目でタイトル無しと
> 判断されファイル名が表示されたようです。
それは分かっていますが...。
> これを、下記のように変更して、とりあえずOKのようです。
> if ($$contref =~ s!<TITLE>(.+)</TITLE>!!i) {
何故、そのようになっているのかは考えていただけているでしょうか?
これですと、TITLE タグに属性が付いているときはやはり、ファイル名が
表示されます。
</TITLE> が複数ある場合にも問題が生じますが、その確率は低いので
無視しても良いでしょう。
問題は...
TITLEタグの中に別の HTML タグが含まれている場合、それがそのまま
結果に出力されてしまうのではないかと思います。(未確認)
この場合、セキュリティ上まずいことになるような気がします。
ゆえに、お勧めしません。
# namazu.cgi の場合ですけどね。
> 半角ですと、HTMLタグと同じであるため、全角の方が扱いやすと
> 考えただけです。半角でかまいません。
では '<' を < '>' を > と書き換えることをお勧めします。
お勧めしませんが、やるなら上記のように
if ($$contref =~ s!<TITLE>(.+)</TITLE>!!i) {
で切り出した後の文字列の '<', '>' 等は少なくとも < > に
書き換える処理を加えましょう。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E