-2

Ich habe zwei Teile Code. Können Sie mir bitte sagen, welches ist richtig und sicherer?Welcher Code ist "besser"?

<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>";?> 

oder

<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>");?> 

Ich habe alle gesehen das erste man verwenden, aber ich gelesen, dass in PHP, wenn Sie etwas sein gutes Echo htmlspecialchars aus Sicherheitsgründen hinzuzufügen. Ich frage mich also, ob der zweite Code richtig ist. Funktioniert die Bootstrap-Alert-Klasse nach dem htmlspecialchars

+0

Haben Sie versucht, beide Codes auszuführen? –

+0

Werfen Sie einen Blick auf PHP-Dokumentation und sehen Sie, was htmlspecialchars tun wird. – patwoj98

+3

sollte dies auf Code Review –

Antwort

1

Wenn Sie Klartext auf einer HTML-Seite ausgeben müssen, sollten Sie es HTML-Escape, andernfalls werden HTML-Tags interpretiert, nun, als HTML.

Auch wenn ein Text nicht HTML-Tags enthalten soll, dh ein Benutzername, kann er, falls er vom Benutzer eingegeben wird, so manipuliert werden, dass er gefährliche HTML-Tags enthält. Aus Sicherheitsgründen können Sie HTML-Tags daraus entfernen sowieso.

Aber Flucht nur den Text, entkommen Sie nicht die Tags, die es umgeben.

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

Alternativ können Sie Benutzereingaben am Anfang des Skripts bereinigen; z.B. Entferne alle nicht-alphanumerischen Zeichen von einem Benutzernamen. Dann müssen Sie nicht mehr HTML-es entkommen.

+0

Vielen Dank geschrieben werden. Macht Sinn, was Sie sagen –

+0

Sie wollen die '' und '' Tags auch so, so sollte es wahrscheinlich sein" ", htmlspecialchars ($ nameError) , "";?> '. –

+0

umm ... warum? Ich habe die Spanne gerade außerhalb des PHP-Fragments verschoben. Besser für Formatierer usw. – rustyx

Verwandte Themen