-2

У меня есть два кода. Не могли бы вы рассказать мне, какой из них правильный и более безопасный?Какой код лучше?

<input type="text" class="form-control contact__form-control" placeholder="Your Name *" id="name" value="<?php echo htmlspecialchars ($name); ?>"> 
<?php echo "<span class='text-danger'>$nameError</span>";?> 

или

<input type="text" class="form-control contact__form-control" placeholder="Your Name *" id="name" value="<?php echo htmlspecialchars ($name); ?>"> 
<?php echo htmlspecialchars ("<span class='text- danger'>$nameError</span>");?> 

Я видел все, чтобы использовать 1-ый, но я читал, что в PHP, когда вы что-то эхо его хорошее, чтобы добавить htmlspecialchars соображений безопасности. Поэтому мне интересно, правильно ли второй фрагмент кода. Будет ли класс загрузки бутстрапов работать после htmlspecialchars

+0

Вы пытались запустить оба кода? –

+0

Посмотрите документацию по PHP и посмотрите, что будет делать htmlspecialchars. – patwoj98

+3

это должно быть опубликовано при просмотре кода –

ответ

1

Когда вам нужно вывести обычный текст на HTML-страницу, вам следует скрыть его с помощью HTML-кода, иначе HTML-теги будут интерпретироваться, ну, как HTML.

Даже если какой-либо текст не должен содержать HTML-теги, то есть имя пользователя, если оно входит в качестве ввода от пользователя, его можно подделать, чтобы содержать опасные HTML-теги, поэтому по соображениям безопасности вы можете избежать этого HTML-кода так или иначе.

Но избегайте только текста, не избегайте тегов, которые его окружают.

<span class='text-danger'><?php echo htmlspecialchars($nameError); ?></span> 

В качестве альтернативы вы можете санировать ввод пользователя в начале сценария; например удалите все не буквенно-цифровые символы из имени пользователя. Тогда вам больше не понадобится HTML-побег.

+0

Большое вам спасибо. Делает смысл, что вы говорите –

+0

Вы хотите также откликнуть теги '' и '', поэтому, вероятно, это должно быть' ", htmlspecialchars ($ nameError) , "";?> '. –

+0

umm ... почему? Я переместил span прямо за фрагмент PHP. Лучше для форматировщиков и т. Д. – rustyx