injeção de SQL é uma forma de ataque à rede que envolve código " injetar " em um banco de dados em uma tentativa de forçar o programa de consulta de banco de dados para retornar um erro e dar o injetor de algumas informações sobre o banco de dados e as informações dentro lo . Pode ser executado a partir de qualquer página da Web que funciona como um portal para um banco de dados insegura e não higienizar suas consultas . Instruções
1
Certifique-se de especificar o tipo de entrada necessária ao escrever o seu código de consulta SQL. A maioria dos ambientes de desenvolvimento permitem que você especifique " string" , " inteiro " ou " data " . Por exemplo, a URL
http://mysite.com/listauthordetails.aspx?user_id=1234
é interpretado pelo banco de dados como
Selecione first_name , last_name dos usuários ONDE user_id = '1234 '
Esta consulta pode ser reescrita para
Dim ID como string = Request.QueryString ( "ID" )
Dim cmd As new SqlCommand ( " SELECIONE user_id dos usuários ONDE user_id = @ user_id ")
Dim param = new SqlParameter ( " user_id " , SqlDbType.VarChar )
param.Value = ID
cmd. Parameters.Add ( param)
Este código impede que informações adicionais sejam acrescentados ao final da consulta SQL , e só passa o resultado do pedido user_id .
2
Use o . htaccess para bloquear solicitações ilegítimas antes de serem passados para o banco de dados, usando o comando () RewriteCond . Por exemplo, para bloquear um script tentando modificar uma variável PEDIDO , use a linha " RewriteCond % { QUERY_STRING } _REQUEST (=