Estoy usando Laravel 4 con Elocuente.
Cuando llego a la entrada del usuario sólo tiene que utilizar $name=Input::get('name') y luego puedo hacer $a->name=$name;

No sé si la función Input::get me protege de Inyección SQL y XSS. Si no, ¿qué tengo que hacer para desinfectar la entrada?

Y, cuando me muestran el valor, en mi opinión, he de uso {{$a}} o {{{$a}}}

Saludos y gracias.

En adición a las otras respuestas, en caso de que decida utilizar algo como Algo nuevo(Input::all()) asegúrese de especificar el $campos rellenables en Algo el modelo, con el fin de proteger contra la masa de asignación. No estrictamente relacionados a sus preguntas, pero algo a tener en cuenta.

OriginalEl autor Fylux | 2014-10-05

2 Comentarios

  1. 10

    Laravel utiliza PDO parámetro de enlace, por lo que la inyección de SQL no es algo que usted debe preocuparse. Usted debe leer este aunque.

    Input::get() no filtrar nada.

    Triple llaves hacer lo mismo como e() y HTML::entidades(). Todas ellas llamada htmlentities con soporte para UTF-8:

    htmlentities($your_string, ENT_QUOTES, 'UTF-8', false);
    Si puedo usar {{{ mostrar, debo usar también htmlentities al guardar la información?
    Escape de salida, no de entrada.
    Gracias, pero ¿por qué?
    No hay necesidad de alterar los datos a menos que se utilice realmente. Filtro de entrada, salida de fuga.

    OriginalEl autor

  2. 4

    Debe utilizar {{{$a}}} porque, por ejemplo, la Entrada tiene etiqueta HTML. Laravel no filtrar.

    Para evitar la inyección SQL debe utilizar enlazar los parámetros de ejecución de las consultas como:

    $var = 1;
    $results = DB::select('select * from users where id = ?', array($var));

    y no:

    $results = DB::select('select * from users where id = '.$var);
    Así que debo usar htmlentities o algo por el estilo? ¿Qué Input::get filtro?
    Que yo sepa, es la interfaz para conseguir POST, GET, y así en los datos. Se recorta de datos, pero no de filtro, por lo que cuando la visualización se debe usar la triple refuerzo – de esta manera htmlentities función se ejecuta en el valor de la variable
    Si puedo usar {{{ mostrar, debo usar también htmlentities al guardar la información?
    No, el uso de {{{ Laravel va a hacer por usted
    Pero ¿hay algún problema si tengo un corrupto de entrada guardada en mi base de datos?

    OriginalEl autor

Dejar respuesta

Please enter your comment!
Please enter your name here