locked
SqlParameter RRS feed

  • Pergunta

  • Pessoal.. Em meu projeto estou adicionando entradas do usuário em queries
    através de SqlParameters, porém não faço nenhuma validação nessa entrada
    (como escapar aspas).. Gostaria de saber se ao adicionar o parâmetro ele já
    valida possíveis entradas maliciosas.. Senão vou ter que fazer isso
    manualmente..

    Obrigado!
    quarta-feira, 27 de setembro de 2006 12:01

Todas as Respostas

  • Olá Solrac  pode explicar melhor... vc esta usando isso na aplicação ?

     

    quarta-feira, 27 de setembro de 2006 12:04
  • Sim.. Tenho na minha aplicação algo desse tipo:

    SqlCommand cmd = new SqlCommand("SELECT Nome, Email FROM Users WHERE Name LIKE @Nome AND Email = @Email");
            cmd.Parameters.Add(new SqlParameter("Nome", sNome));
            cmd.Parameters.Add(new SqlParameter("Email", sEmail));

    O sNome e sEmail contém a string que eu recebo através do Form.. Não faço nenhuma validação nela do tipo SqlReplace (Ex.: escapar aspas simples etc.), pois esperava que a própria classe SqlParameter fizesse isso.. Queria saber se ela faz isso mesmo, caso contrário estou "vulnerável"..

    Obrigado!
    quarta-feira, 27 de setembro de 2006 12:10
  • vc deve fazer o tratamento de aspas no campo onde esta digitando...  ...  ele não pode fazer esse tipo de tratamento e se alguem resolve utilizar algum dado com aspas e ele tirasse... entende  por isso vc deve fazer o tratamento

    abs

     

    quarta-feira, 27 de setembro de 2006 12:19
  • Hmm.. Muito obrigado pela informação.. Vou criar métodos que façam essa validação então..
    Se não for pedir demais.. Sabe algum link para um site ou documento que tenha dicas do que se deve proteger contra SQL Injections? Tenho documentos que falam sobre como executá-las, mas nada que diga como prevenir..

    Valeu!
    quarta-feira, 27 de setembro de 2006 12:29