¿Comillas simples o dobles en PHP?

2

En general, ¿cuál es más seguro de usar, en particular para la evasión XSS?

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

Estoy adivinando comillas simples, pero me pregunto por qué & con la esperanza de encontrar la lectura recomendada.

    
pregunta admcfajn 18.04.2018 - 19:01
fuente

2 respuestas

4

No hace una diferencia si se usa correctamente.

La primera versión es estándar aunque. Las comillas simples se usan con menos frecuencia en los valores de atributos de HTML, por lo que debe ser un poco más cuidadoso al usar varias funciones destinadas a protegerse contra XSS, ya que no necesariamente tienen en cuenta este caso.

htmlspecialchars , por ejemplo, no codifica ' de forma predeterminada, necesita establecer específicamente ENT_QUOTES . Cualquier función personalizada que su proyecto o marco pueda usar puede tener el mismo problema.

    
respondido por el tim 18.04.2018 - 19:46
fuente
1

Incluso si usa " en PHP, no necesita usar ' en HTML. Yo recomendaría

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

o incluso

echo "<input name=\"".$input_name."\">";
    
respondido por el Esa Jokinen 18.04.2018 - 20:13
fuente

Lea otras preguntas en las etiquetas