Estoy usando algunos complementos premium y, analizando su código, encontré que en algunas funciones usan código como:
$output .= $some_str;
cuando esa salida de $ no se mencionó en ninguna parte antes.
¿Qué tan seguro es este código? Traté de encontrar alguna guía en el Manual de PHP para esto, pero por lo que veo, solo lo definen para $output y $some_str que se establecieron previamente.
Más tarde, esta variable de salida de $ se usa para hacer eco del código HTML.
¿Viste alguna especificación al respecto? ¿Tal vez hay algo que podría hacer fuera de esos complementos para hacer que este código sea más seguro? ¿Algún valor predeterminado definido para todas las variables no inicializadas?
¡Gracias!
¿Cuál es tu definición de “seguro”? Aparte del valor NULL implícito y el aviso/advertencia (o la entrada de registro del mismo), los lenguajes de secuencias de comandos no son propensos a, por ejemplo, errores de puntero nulo. esta cubierto de php.net/manual/en/language.variables.basics.php#example-112 por cierto.
– mario
29/04/2016 a las 19:29
@mario, quise decir, por ejemplo, si este código HTML que la variable produciría más tarde, contendría algo que no se haya puesto allí intencionalmente.
– Olga Farber
29/04/2016 a las 19:40
Los casos de los que debe tener cuidado no son aquellos con no inicializado variables entonces. Esos no harán ningún daño. Para complementos o temas, es posible reutilizarlos accidentalmente heredado variables, por ejemplo, desde un ámbito de variable compartida (global). Lo que podría causar una salida no deseada, etc.
– mario
29/04/2016 a las 19:54
gracias, @mario!
– Olga Farber
1 mayo 2016 a las 20:14