none
como controlar la inyeccion sql en el campo contraseña de un login de app visual basic? RRS feed

  • Debate general

  • Estimados

    ya estoy terminando una app de escritorio en vb.net (de vs 2010) y quiero controlar que no entren a la base de datos con las sentencias sql no autorizadas. alguien me da algunos concejos. gracias desde ya...

    saludos

    ariel

    sábado, 3 de agosto de 2013 0:16

Todas las respuestas

  • Mucho depende de como estás haciendo tus conexiones y consultas a la BD. Si las estás haciendo "al vuelo" es decir, concatenando y demás, sí que corres riesgo. Tendrías que validar caracteres "raros" pero eso ya depende de las políticas y reglas de las contraseñas.

    Si estás usando alguna herrmianeta, ADO, EF, etc.. En general no deberías preocuparte, sin embargo...

    ¿Puedes poner algo de código para ir revisando un poco más?

    Saludos!


    Miguel Salazar
    -> Thanks Network!

    sábado, 3 de agosto de 2013 5:05
  • Para evitarlo debes usar consultas parametrizadas. Defines parámetros dentro de tu query que en tiempo de ejecucion los estableces y el motor analiza dicha instrucción generando una excepción si fuera incorrecta

    Un ejemplo de consulta parametrizada seria

    Private Function SelectDemographics(ByVal customerID As Integer, _
        ByVal connectionString As String) As SqlDataReader
    
        
        Dim commandText As String = _
         "SELECT Demographics FROM Sales.Store WHERE CustomerID = @ID;" 
    
        Using connection As New SqlConnection(connectionString)
            Dim command As New SqlCommand(commandText, connection)
    
          
            command.Parameters("@ID").Value = customerID
    
            
            Try
                connection.Open()
                Return command.ExecuteReader()
                
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try 
        End Using 
    End Sub


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    domingo, 4 de agosto de 2013 14:21