La construcción de mi primer web-app y quiere entender la inyección de SQL mejor (https://github.com/astaxie/build-web-application-with-golang/blob/master/en/eBook/09.4.md).

Cuánto protección contra inyección SQL llegar desde siempre el uso de la ‘base de datos/sql’ de la biblioteca y la construcción de consultas con ‘?’ en lugar de concatting cadenas? ¿Qué tipo de ataques de inyección SQL se yo todavía tiene que preocuparse en ese caso?

OriginalEl autor John Montague | 2014-10-13

1 Comentario

  1. 21

    Mientras usted está usando Preparar o Consulta, estás a salvo.

    //this is safe
    db.Query("SELECT name FROM users WHERE age=?", req.FormValue("age"))
    //this allows sql injection.
    db.Query("SELECT name FROM users WHERE age=" + req.FormValue("age"))
    Exec también permiten la vinculación de valor sin el uso de Preparar. Es seguro, mi conjetura es que hace un implicite Preparar la declaración, pero no he mirar en el código
    es allí una manera de hacer fmt.Sprintf seguro.
    en realidad no, a menos que manualmente proceso de cada parámetro, no hay ninguna razón para no usar consultas preparadas, aunque.
    pregunto si es posible utilizar el printf estilo de la cadena de manuplation. Gracias.
    No soy experto en DBs, he encontrado este tema de discusión en el ir posgres /lib/pq. Donde se discuten las que incluso el uso de la Consulta hay algunas vulnerabilidades? github.com/lib/pq/issues/248

    OriginalEl autor OneOfOne

Dejar respuesta

Please enter your comment!
Please enter your name here