1
Escoge una biblioteca o un marco que no permite consultas sin verificar responsable de inyecciones SQL SQL . Enumeración Debilidad Común recomienda capas de persistencia , como Hibernate y Enterprise Java Beans , que protegen de la inyección de SQL cuando se instala y se utiliza correctamente.
2 consultas SQL de proceso
utilizando procedimientos almacenados , consultas que sólo aceptan un parámetro o otras declaraciones preparadas en lugar de consultas abiertas . Evite dinámicamente construir cadenas de consulta SQL.
3
Evite ejecutar código con privilegios excesivos. No todo el código debe ser dirigido por una cuenta con privilegios de root o administrador. Esto mitigará la gravedad de cualquier consulta SQL comprometida.
4
control de seguridad de repetición y validación de entrada en el lado del cliente y del servidor . Los atacantes pueden modificar los valores en tránsito o en el ordenador del usuario después de haber realizado la validación de entrada .
5
Escapa caracteres especiales de las consultas SQL . Estos pueden incluir caracteres especiales como comillas o los operadores , tales como el espacio de igual signo y blanco.
6
Asumir toda la entrada es malicioso o mal formados . En lugar de utilizar una lista negra de cadenas inaceptables para consultas SQL , utilice una lista blanca de conocidos consultas, bien formateados.
7
entrada del límite de un conjunto de valores de entrada fija , como en el caso de un lista de los estados o países , cuando sea posible.
8
mensajes de error límite a la información sólo mínimo. Los atacantes pueden utilizar mensajes de error detallados para obtener más información sobre el sistema. Entrar el error explícita a un registro del servidor en lugar de mostrar al usuario .
9
Utilice un firewall para defenderse de algunos ataques de inyección SQL. Utilice firewalls renombre que son la configuración y el mantenimiento adecuado . Un firewall no niega la necesidad de una programación adecuada y no protegerá de todas las vulnerabilidades .