• ベストアンサー

掲示板で、テキストフィールドにHTMLタグを書かれると・・・

掲示板で、テキストフィールドにHTMLタグを書かれると、掲示板の形が壊れてしまいます・・・ 誰か、対策方法を教えて頂けませんか?? 今、JSPで作成しています。

  • Java
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.4

#2のおっしゃるように予約文字をエスケープ文字に変換するメソッドを作成すればいいと思います。 具体的にいうと以下のメソッドを通すとHTMLタグを打ち込まれてもタグと認識しなくなります /****************************************/ public String strConvertEscape(String _strValue){ StringBuffer strResultValue = new StringBuffer(); for(int i=0;i<_strValue.length();i++){ switch(_strValue.charAt(i)){ case '&': strResultValue.append("&amp;"); break; case '<': strResultValue.append("&lt;"); break; case '>': strResultValue.append("&gt;"); break; default: strResultValue.append(_strValue.charAt(i)); break; } } return strResultValue.toString(); } /****************************************/ 即席でかいたのでコンパイルエラーでたらすいません(笑) がんばって掲示板を完成させてください^^;

その他の回答 (3)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.3

タグ何でもOKは非常にまずいです。 サニタイジングしないと、クロスサイトスクリプティング攻撃の踏み台になりますよ。 No1,2の方のやり方で早く修正することをお奨めします。

  • nitscape
  • ベストアンサー率30% (275/909)
回答No.2

POSTされたデータに含まれる「<」を「&lt;」、「>」を「&gt;」に変換してはどうでしょう?

  • timber
  • ベストアンサー率29% (218/739)
回答No.1

テキストフィールドの書き込まれた文字をhtmlに組み込む前にチェックを行い タグ(「<」から「>」まで)を削除するようにすれば問題ないと思いますが。 もちろん書き込み画面に「タグ使用禁止」を明示して。

関連するQ&A

  • FlashからHTMLテキストフィールドへテキストを渡す方法

    Flashで作成した地図をクリックすると、その地名をHTML上のテキストフィールドに表示するようなものを作りたい(そのフィールドに渡された地名を使って検索をかけたい)のですが、それは可能でしょうか? また、可能な場合、どのような方法で行えばよいのでしょうか? 知っていらっしゃる方がいらっしゃいましたら教えてください。 よろしくおねがいいたします。

  • HTMLタグが使えるCGIスクリプト

    掲示板のレンタルの中には、本文にHTMLタグが使えるものもありますが、あれはどのような仕組みなのでしょう? 私は今、あるCGIを作成しているのですが(掲示板ではないのですが…)、その本文の欄でHTMLタグが使えるようにしたいのですが、どのようにすればよいのでしょう? 具体的には、<a>タグさえ使えればとりあえず良いのですが…。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 非表示のテキストフィールド

    フォームからCGIに値を渡すために、ブラウジング時には非表示のテキストフィールドを作成したいのですが、どのようにすれば、よいでしょうか?HTMLのみで記述できるでしょうか?

    • ベストアンサー
    • HTML
  • HTMLタグは覚えておくと・・・いいの?

    すごくPC好きの中学生です。 友達がHTMLタグは覚えておいたほうがいいよぉ~って 言うけど、今はホームページ作成ソフトで写真や文字とか入れると自動的にHTMLに変換してくれるから、必要ないと思う。 プログラマーになるにはHTMLタグ覚えていた方がいいの?

  • フォームに書き込まれたHTMLタグを出力したい

     フォームに書き込んだHTMLタグを、出力後、ちゃんとHTMLタグとして生成させる方法を知りたいのですが。(言葉足らずですいません、例えば、掲示板の入力フォームで、テキストに書かれた例えば<font color=red>というHTMLタグを使い、フォーム送信後、文字が赤くなっている、ということを実現させたいだけなのですが)  当方、Perlどころかプログラミングそのものを理解していない者ですが、訳あってソースをいじるお手伝いをすることになって困っております。以前、さらっと一行、コードを書くだけで実現できると思ったのですが。ご教授頂ければ幸いです。

    • ベストアンサー
    • Perl
  • HTMLのタグ打ちが簡単に出来るツールを探しています。

    HTMLのタグ打ちが簡単に出来るツールを探しています。 テキスト文書を打った後、その文章に自動的にHTMLタグを入れてくれるようなツールを探しております。 数年前に、そのようなツールがあったと思ったのですが、ベクターで調べてみても見つけることができませんでした。 用途としてはブログ作成の際にHTMLタグで入力しようと考えております。 タグに関しては詳しくないために、打ち込んだテキスト文章に対して自動的にタグを入れてくれるツールがあればと思っております。 お手数お掛けいたしますが、良いツールをご存知の方教えて頂けないでしょうか? よろしくお願いいたします。

  • HTMLのテキストファイルが写真のようにタグが出ま

    HTMLのテキストファイルが写真のようにタグが出ません。タグを表示させるにはどうすればいいでしょうか?macのテキストエディトで編集しています。

    • ベストアンサー
    • HTML
  • HTMLタグを作成

    私は今、ホームページ作成にがんばっています。そこで、自分のHP素材が作りたいのですが、HTMLタグの作成方法が分りません。またそことについて勉強したいです。この二つについて教えてくださいよろしくお願いします。

  • 外部テキストに書いたHTMLタグがそのまま表示されてしまう。

    現在、Flash作成フリーソフト「Suzuka」で、Flashを作成中なのですが、 どうしても分からない箇所がありますので、アドバイスをよろしくお願いします。 以下のことでつまずいてます。 ダイナミックテキストに外部テキストを読み込ませることは出来るのですが、 外部テキスト内に書いているHTMLタグが、そのまま表示されてしまい、困っています。 外部テキストの内容はこんな感じです。 total=4& &txt0=<font color="#ff0000">文字の色を赤に変えたいです</font>& &txt1=あいうえお& &txt2=かきくけこ& &txt3=さしすせそ テキストのプロパティで「HTML」にチェックをいれてプレビューまたは、パブリッシュ後にブラウザで確認しても、 どうしてもタグが解釈されずに、そのまま<font color="#ff0000">文字の色を赤に変えたいです</font>で表示されてしまいます。 Suzukaのヘルプには、<font>タグがサポートされていると書いてあるのですが…。 Flashに詳しい方、アドバイスをよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • リッチテキスト形式でHTMLタグがつかない方法ありますか?

    初歩的なことをお聞きしてすみません。 過去ログでリッチテキスト(HTML)形式とテキスト形式の見分け方についてはわかったのですが、最終的にお聞きしたいのはテキスト形式の一種でフォントの大きさなどを加工したものが送れる形式(HTMLタグを出さずに)があるのでしょうか? そんなものはないと思っていたのですが、「ある」と主張する人がいらっしゃっるのでわからなくなってしまいました。 ちなみにメールソフトでテキスト形式しか受け取れないものってどれくらいあるのでしょう?そのソフト名もご存知でしたら教えてください。 お願いします。