dポイントプレゼントキャンペーン実施中!

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

A 回答 (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();
}

/****************************************/
即席でかいたのでコンパイルエラーでたらすいません(笑)
がんばって掲示板を完成させてください^^;
    • good
    • 0

タグ何でもOKは非常にまずいです。


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

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

    • good
    • 0

テキストフィールドの書き込まれた文字をhtmlに組み込む前にチェックを行い


タグ(「<」から「>」まで)を削除するようにすれば問題ないと思いますが。
もちろん書き込み画面に「タグ使用禁止」を明示して。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!