- ベストアンサー
掲示板で、テキストフィールドにHTMLタグを書かれると・・・
掲示板で、テキストフィールドにHTMLタグを書かれると、掲示板の形が壊れてしまいます・・・ 誰か、対策方法を教えて頂けませんか?? 今、JSPで作成しています。
- みんなの回答 (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("&"); break; case '<': strResultValue.append("<"); break; case '>': strResultValue.append(">"); break; default: strResultValue.append(_strValue.charAt(i)); break; } } return strResultValue.toString(); } /****************************************/ 即席でかいたのでコンパイルエラーでたらすいません(笑) がんばって掲示板を完成させてください^^;
その他の回答 (3)
- kusukusu
- ベストアンサー率38% (141/363)
タグ何でもOKは非常にまずいです。 サニタイジングしないと、クロスサイトスクリプティング攻撃の踏み台になりますよ。 No1,2の方のやり方で早く修正することをお奨めします。
- nitscape
- ベストアンサー率30% (275/909)
POSTされたデータに含まれる「<」を「<」、「>」を「>」に変換してはどうでしょう?
- timber
- ベストアンサー率29% (218/739)
テキストフィールドの書き込まれた文字をhtmlに組み込む前にチェックを行い タグ(「<」から「>」まで)を削除するようにすれば問題ないと思いますが。 もちろん書き込み画面に「タグ使用禁止」を明示して。