WordPress: validare i parametri GET

WordPress: validare i parametri GET

Il caso più pericoloso dell'uso di parametri GET in WordPress è quando dobbiamo visualizzare il valore del parametro sulla pagina. In questo caso la prudenza non è mai troppa e dobbiamo procedere per step successivi. Ogni step rappresenta un livello di validazione dei dati.

Nel seguente esempio abbiamo quattro step:


<?php 
$archive_year = $_GET['y'];
$archive_title_text = '';
if( isset( $archive_year ) && preg_match( '/^\d{4}$/', $archive_year ) ) { // Step 1
    $yr = intval( $archive_year );
	if( filter_var( $yr, FILTER_VALIDATE_INT ) ) {  // Step 2
		$raw_yr = wp_kses( $yr ); // Step 3
		$archive_title_text = ' anno ' . esc_html( $raw_yr ); // Step 4
	}
}
?>
<h1 class="post-title">Archivio<?php echo $archive_title_text; ?></h1>

  1. Il parametro è presente? Il suo valore è numerico e non più lungo di 4 caratteri?
  2. Il parametro è un numero intero valido?
  3. Filtriamo il parametro.
  4. Evitiamo ogni possibile inserimento di tag HTML.

Infine possiamo visualizzare il parametro. Ovviamente potete aggiungere altri step ma ricordate sempre che essere ridondanti è sempre meglio che essere imprudenti.

Torna su