したがって、HTMLに出力する場合は、ユーザー入力をサニタイズする必要があることを常に聞いて読んでいます。私が疑問に思っているのは、エラーが発生した場合に出力される入力をサニタイズする必要があるかどうかです。
たとえば、フォームのエラー処理では、ページが再表示され、エラーメッセージが表示され、ユーザーに問題が発生したことを通知するだけでなく、入力をフォームの値として出力するため、ユーザーは再入力する必要がありません。それと彼らは彼らがどこで間違っていたかを見ることができます。私の質問は、フォームフィールドの値としての出力時にユーザーの入力をサニタイズするためにhtmlspecialchars()を使用する必要があるかどうかです。
これが私の入力フィールドの1つが今どのように見えるかです。
<label for="email">E-mail Address: <?php if($btnPressed) { checkInput($_POST['email'], true, true); } // Check the validity of the input ?></label>
<input type="text" name="email" id="email" value="<?php if($btnPressed) { echo $_POST['email']; } // Output the user's input if an error occurred ?>" maxlength="50" />
これが私がすべきだと思うことです。
<label for="email">E-mail Address: <?php if($btnPressed) { checkInput($_POST['email'], true, true); } // Check the validity of the input ?></label>
<input type="text" name="email" id="email" value="<?php if($btnPressed) { echo htmlspecialchars($_POST['email']); } // Output the user's input if an error occurred ?>" maxlength="50" />
どんな助けでも大歓迎です。