ataque sql
18/05/2012
0
Como se faz isso de um modo seguro
Estou mostrando a baixo a maneira como é feita a conexao , o metodo para retornar em um list ou table e a chamada do metodo no webform, porem o que me preocupada é a chamada do metodo pois passar um comando sql por parametro me parece nao ser seguro.Ao mesmo tempo que passo um select * from tabela alguem pode passar outro comando pela textbox como um drop table ou delete table
--Classe para conexao com o banco sqlserver 2008
public class Conexao
{
private string _Conexao;
private SqlDataSource _Sql;
public Conexao()
{
_Conexao = Data Source=database.sytes.net;Initial Catalog=dbjava;Persist Security Info=True;User ID=UserSelect;Password=senha;
_Sql = new SqlDataSource();
_Sql.ConnectionString = _Conexao;
}
--Metodos de retorno
public DataTable Selecionar(string sql)
{
SqlConnection conexao = new SqlConnection(_Conexao);
SqlCommand comando = conexao.CreateCommand();
comando.CommandText = sql;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataTable tabela = new DataTable();
conexao.Open();
adaptador.Fill(tabela);
conexao.Close();
return tabela;
}
chamada no webform que retorna a tb_cidades
Conexao strcon = new Conexao();
GridView1.DataSource = strcon.Selecionar(select * from tb_Cidade);
GridView1.DataBind();
Carlos Faria
Posts
18/05/2012
Fabio Rosa
Caso não, você pode criar um método específico para retornar Cidades por exemplo e o comando SQL pode ser fixo dentro deste método, assim o usuário não tem que digitar nenhum comando, e sim apenas clicar em um botão...
18/05/2012
Joao Moreira
18/05/2012
Joel Rodrigues
Clique aqui para fazer login e interagir na Comunidade :)