返信先: htmlspecialchars関数は何をしているのでしょうか。

ホーム 質問掲示板 サーバーサイドエンジニア PHP htmlspecialchars関数は何をしているのでしょうか。 返信先: htmlspecialchars関数は何をしているのでしょうか。

#520

エスケープします、つまりHTMLで特別な意味を持つ文字を変換します
エスケープすることによってJavaScriptの実行を無効にします

  • <タグの開始 → &lt;
  • >タグの終了 → &gt;
  • &文字実体参照の開始 → &amp;
  • “属性値の区切り → &quot;
  • ‘属性値の区切り → &#039;

▼サンプルコード

<?php
// 危険な入力データ
$userInput = '<script>alert("悪意のあるコード")</script>';

// エスケープ前(危険)
echo $userInput;
// 出力: <script>alert("悪意のあるコード")</script>
// → ブラウザでJavaScriptが実行される

// エスケープ後(安全)
echo htmlspecialchars($userInput);
// 出力: <script>alert(&quot;悪意のあるコード&quot;)</script>
// → ブラウザでは文字列として表示される
?>