text.html-liteライブラリのhtml-escape-string手続きは、HTMLとして“不適切な”文字をエスケープします。
例:
gosh> (use text.html-lite)
#<undef>
gosh> (html-escape-string "<p>")
"<p>"
gosh> (html-escape-string "\"test\"")
""test""
gosh> (html-escape-string "&")
"&"
gosh> (html-escape-string "?")
"?"
gosh> (html-escape-string "+")
"+"
gosh> (html-escape-string "/")
"/"
gosh> (html-escape-string "あああ")
"あああ"
HTMLで要素名を括るときに使う<記号や>記号のほか、&記号、"記号がエスケープされているのが分かります。
これらの文字はHTMLソースコードそのものを構成するため、CGIでそのまま表示すると予期せぬ結果を生じます。ユーザー入力された文字列をCGIで表示する際は、その表示の直前にhtml-escape-string手続きでエスケープしておくべきです。
by えんどうやすゆき
Trackback URL: http://karetta.jp/trackback/book/011567/011615 Trackbacks: |