textareaに値を設定するときの注意点

otaguro 112views 更新:2015年3月23日
document.getElementById("hoge").value="</textarea>"

のようにvalueに値を設定した場合は、<や>が自動的にパースされるが、

document.getElementById("hoge").innerHTML="</textarea>"

のようにinnerHTMLに値を設定した場合は、<や>がパースされないため、 <や>や;をテキストエリアに表示したい場合には&lt;等に変換する処理を噛ませる必要がある。 同様に次のように、textareaタグ内に文字を埋め込む場合にも、変換する処理が必要になる

<textarea>hoge</textarea>

コメント

  1. otaguro のコメント (2017年2月24日)

    上二つのコードはscriptタグ中なので、ユーザーの入力値を埋め込むような処理はXSSを防ぐため避けたほうが良い。

    IPA 安全なウェブサイトの作り方 5-(iii) script要素の内容を動的に生成しない。
    https://www.ipa.go.jp/security/vuln/websecurity.html

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません