作成日:2023-01-05, 更新日:2024-02-28
基本
「{{ xxx }}」を使う。HTMLとして出力したいときに「{!! xxx !!}」を使う。
記述 | 内容 | 備考 |
---|---|---|
{{ xxx }} | XSS攻撃の対策済みの出力 | 「echo htmlspecialchars(xxx)」と同じ |
{!! xxx !!} | XSS攻撃の対策をしていない出力 | 変数にHTMLタグが含まれるとき |
改行コードがあるときの対応
▼PHPの「nl2br()」を使う
{!! nl2br(xxx) !!}
scriptタグがあるときの問題
「{!! nl2br(xxx) !!}」だとHTMLタグをそのまま出力するのでscriptタグが含まれているとそのまま実行されてしまう
▼「htmlspecialchars()」してから「nl2br()」を使う
{!! nl2br(e(xxx)) !!}
※「e()」が「htmlspecialchars()」と同じ感じ