Pregunta

  1. He utilizado el número de veces que consulta con parámetros que conozco que ayuda en la prevención de la inyección de SQL. Sin embargo, me preguntaba si puedo saber lo que está funcionando lógica básica dentro de una consulta con parámetros Prevenir a la inyección de SQL puede ser que es muy simple, pero no sé al respecto. Traté de búsqueda de Google cuáles son los básicos de ella, pero cada vez que me encontré con un ejemplo que el uso de consulta parametrizada en Asp.net.
  2. sé acerca de hacer una clase especial que para esos caracteres especiales como (', - etc.) que se utilizan en la inyección de SQL, pero no parando únicamente caracteres especiales que impidan totalmente la inyección de SQL
  3. ?
  4. Y una última cosa qué .net consulta parametrizada puede detener totalmente la inyección de SQL?
¿Fue útil?

Solución

I think parametrized queries are not dependent on prepared queries database support. Database driver itself passing values the safe way, and how is it done depends on driver itself.

The PostgreSQL manual explains basics about parametrized queries on database level.

On the other hand, parametrized queries simplifies you passing locale sensitive data. For example, user enters 100,00 decimal, but your server expects 100.00 value.

Otros consejos

In every database engine I know, using "prepared" (aka "parametrized", or "static") queries prevents SQL injection. You don't need to filter any characters if they're being passed to parameters. If you ever write SQL that is concatenated together in code rather than prepared with parameters, you are probably at risk for SQL injection. You should the security manual for the database you're using, it will very likely have a section on SQL injection, but just read all of it. I bet it will take under an hour and will give you solid instruction and confidence that you're following best the practices that apply to your database.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top