virgolette singole o doppie in PHP?

2

In generale, che è più sicuro da usare, in particolare per quanto riguarda l'evasione XSS?

echo '<input name="'.$input_name.'">';
echo "<input name='$input_name'>";

Sto indovinando le virgolette singole, ma mi chiedo perché & sperando di trovare la lettura consigliata.

    
posta admcfajn 18.04.2018 - 19:01
fonte

2 risposte

4

Non fa differenza se usato correttamente.

La prima versione è standard però. Le virgolette singole sono usate meno spesso intorno ai valori degli attributi HTML, quindi è necessario essere un po 'più cauti quando si utilizzano varie funzioni intese a proteggere contro XSS, in quanto potrebbero non prendere necessariamente in considerazione questo caso.

htmlspecialchars per esempio non codifica ' per impostazione predefinita, devi impostare in modo specifico ENT_QUOTES . Qualsiasi funzione personalizzata che il progetto o il framework può utilizzare potrebbe avere lo stesso problema.

    
risposta data 18.04.2018 - 19:46
fonte
1

Anche se utilizzi " in PHP, non devi utilizzare ' in HTML. Mi raccomando

echo "<input name=\"$input_name\">";

o anche

echo "<input name=\"".$input_name."\">";
    
risposta data 18.04.2018 - 20:13
fonte

Leggi altre domande sui tag