Tengo un artículo completo sobre filtrado de entrada en laravel, es posible que sea de utilidad http://usman.it/xss-filter-laravel/, aquí está el extracto de este artículo:
Puede hacer una limpieza XSS global usted mismo, si no tiene una biblioteca para escribir métodos comunes que pueda necesitar con frecuencia, entonces le pido que cree una nueva biblioteca Común en la aplicación/biblioteca. Ponga estos dos métodos en la biblioteca común:
/*
* Method to strip tags globally.
*/
public static function global_xss_clean()
{
// Recursive cleaning for array [] inputs, not just strings.
$sanitized = static::array_strip_tags(Input::get());
Input::merge($sanitized);
}
public static function array_strip_tags($array)
{
$result = array();
foreach ($array as $key => $value) {
// Don't allow tags on key either, maybe useful for dynamic forms.
$key = strip_tags($key);
// If the value is an array, we will just recurse back into the
// function to keep stripping the tags out of the array,
// otherwise we will set the stripped value.
if (is_array($value)) {
$result[$key] = static::array_strip_tags($value);
} else {
// I am using strip_tags(), you may use htmlentities(),
// also I am doing trim() here, you may remove it, if you wish.
$result[$key] = trim(strip_tags($value));
}
}
return $result;
}
luego poner este código en el comienzo de su filtro antes (en application/routes.php):
//Our own method to defend XSS attacks globally.
Common::global_xss_clean();
respuesta retirado como se aplica a los que aún no ha XSS. No hay una manera dura o rápida, creo ... filtra el contenido, ata las cookies a las direcciones IP. La entrada del wiki tiene una carga de buena información http: //en.wikipedia.org/wiki/Cross-site_scripting –
@DavidBarker, me has entendido mal. Todo lo que necesito es evitar que se ejecuten etiquetas y javascript al mostrar la entrada del usuario. – warmspringwinds