InnerHTMLって使ってはいけないの? |
|
|
結論から言うと、「使ってはいけない」わけではないですが、無条件に使うのは危険です。 場面を選ぶべきAPIです。 1. 何が問題なのか(本質)最大の問題は XSS(クロスサイトスクリプティング) です。 ここで のようなものが入ると、 → そのまま実行される可能性がある つまり **「文字列として扱いたいものが、コードとして実行される」**のが危険です。 2. 安全に使えるケース逆に言うと、次の条件なら基本的に問題ありません:
例: これは安全です。 3. 危険なケース特に危ないのは:
4. 代替手段多くの場合はこっちを使う方がいいです。 テキストだけなら→ HTMLとして解釈されないので安全 要素を組み立てる5. パフォーマンスの話
ので → 頻繁に使うと重い 6. 実務的な結論現場感覚で言うと:
7. よくある誤解「innerHTMLは危険だから全部禁止」 → これは極端です 正しくは 「入力の信頼性を保証できない場合は使うな」 8. 一番重要な視点本質はAPIではなく 「そのデータは信頼できるか?」 です。
|
|
|

この記事へのコメント