Pregunta sobre Developing with WordPress de Wordpress:

ob_start () y htmlspecialchars ()

Un usuario pregunt贸 馃憞

Hola, tengo este c贸digo.

function PHP_Include( $atts )
{
	$atts = htmlspecialchars($atts);
	ob_start();  
	
    	extract(shortcode_atts( array(
        'file' => 'default'
   	 ), $atts ));
	
	
	include get_theme_root() . '/' . get_template() . '/app/' . $file;
	
	$output = ob_get_contents();   
	ob_end_clean();   
	return $output;
}

Alguien me dir谩 ob_start para hacer mi c贸digo m谩s seguro, pero no entiendo de qu茅 manera. B谩sicamente, esta funci贸n mantendr谩 芦la memoria禄 del c贸digo y luego generar谩 el c贸digo para ejecutarlo, 驴verdad?

En segundo lugar, cuando yo $atts = htmlspecialchars($atts); el c贸digo no funciona tengo una p谩gina en blanco, aqu铆 de nuevo no s茅 por qu茅. $ Atts es appfile.php. Yo uso este atajo [phpinclude file='appfile.php'].

(@diondesigns)

Hace 2 a帽os, 10 meses

El es htmlspecialchars() requiere funci贸n de cable, y $atts parecer铆a ser una matriz. Entonces … pruebe la funci贸n de revisi贸n a continuaci贸n y vea si funciona.

function PHP_Include($atts) {
	ob_start();  
    	extract(shortcode_atts(
		array('file' => 'default'),
		$atts
	));

	include get_theme_root() . '/' . get_template() . '/app/' . $file;
	return ob_get_clean();
}

(@geekinside)

Hace 2 a帽os, 10 meses

Edite el shortcode de nuevo, 驴verdad?

(@bcworkz)

Hace 2 a帽os, 10 meses

Los manejadores de atajos vuelven al cable repetido. Los $ atts son un conjunto que se reenv铆a a su controlador.

No s茅 c贸mo un b煤fer de salida agrega seguridad, pero debe usarlo de todos modos en un controlador de acceso directo que incluye un archivo de plantilla que refleja el contenido. Los controladores de accesos directos nunca tienen que generar nada directamente.

(@geekinside)

Hace 2 a帽os, 10 meses

Lo siento, estaba ocupado.

De acuerdo, lo entiendo. El archivo es b谩sicamente $ atts[newvalue].

Me pregunto por qu茅 los controladores de accesos directos no tienen que generar nada directamente.

(@bcworkz)

Hace 2 a帽os, 10 meses

No te preocupes.

Porque WP repite el valor en el lugar correcto en el flujo DOM. Si hace eco del material del manipulador, no estar谩 en la posici贸n correcta en el flujo. Hacer eco establece una especie de condici贸n racial. Tu eco gana la carrera, pero el premio es una p谩gina desordenada 馃檪

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *