特殊文字をブラウザで文字列として表示させるには htmlspecialchars 関数を使用します。これを使用すると、各文字列が <、>、&、” に変換されて返されます。
さらに続けて ENT_QUOTES と書くと、’ (シングルクォート)も ‘ に変換されて返されます。
この処理は、訪問者から送信されたデータを表示する際には必ず行うようにしてください。もしこの処理を忘れると、フォームから送信する際に入力されたHTMLやJavaScriptをそのまま解釈してしまいます。もし悪意あるJavaScriptが埋め込まれると訪問者全員に影響を与えてしまうため、それを防ぐためにも htmlspecialchars で安全な文字列に変換します。
以前の記述
$name = $_POST["name"];
htmlspecialchars 関数を指定した場合
$name = htmlspecialchars($_POST["name"], ENT_QUOTES);
PHP: htmlspecialchars - Manual
コメント