[Visto: 306 veces]

Para las validaciones de código de parámetros GET o POST, es recomendable no usar este tipo de codificación:

if(isset($_GET['buscar'])){
   echo 'Resultados para “'. $_GET['buscar'] .'”';	
}

Esta vulnerabilidad es un tipo de ataque llamado “Cross-site scripting attacks”, donde la variable “buscar” se puede ingresar con tan solo digitar en la dirección URL.

Para ello recomiendo el uso de la siguiente función para establecer mayor seguridad en las variables de ingreso al sitio.

function isGet($value){
  if (filter_has_var(INPUT_GET, $value)) {
    return filter_input(INPUT_GET, $value, FILTER_SANITIZE_SPECIAL_CHARS);
  }
  return false;
}

function isPost($value){
  if (filter_has_var(INPUT_POST, $value)) {
    return filter_input(INPUT_POST, $value, FILTER_SANITIZE_SPECIAL_CHARS);
  }
  return false;
}

Donde el código anterior, queda como:

$getBuscar = isGet('buscar');
if( $getBuscar ){
   echo 'Resultados para “'. $getbuscar .'”';	
}

Con ello, las variables se veran como una cadena de texto incluyendo los tags de HTML

 

Puntuación: 5 / Votos: 1