SóProvas


ID
2519455
Banca
FCC
Órgão
TRE-PR
Ano
2017
Provas
Disciplina
Banco de Dados
Assuntos

Considere a situação em que um usuário é solicitado a inserir o nome de uma cidade através de um formulário em uma aplicação web. Se ele inserir a cidade 'Curitiba', a consulta SQL criada pelo script será:


SELECT * FROM EleicoesTable WHERE City = 'Curitiba'


No entanto, suponha que o usuário insira o seguinte:

'Curitiba'; drop table EleicoesTable--


Nesse caso, a seguinte consulta SQL é gerada pelo script:

SELECT * FROM EleicoesTable WHERE City = 'Curitiba';drop table EleicoesTable--


Considerando que o ponto-e-vírgula (;) denota o término de uma consulta e o início de outra e que o hífen duplo (--) indica que o restante da linha atual é um comentário e deve ser ignorado, é correto afirmar:

Alternativas
Comentários
  • d)

    Quando essa instrução for executada, o Banco de Dados selecionará primeiro todos os registros em EleicoesTable onde City é Curitiba e, em seguida, descartará EleicoesTable. 

  • leitura rápida

    a- sintaxe do código sql está correto;

    b- não vai ter nenhuma violação, pois não erro de sintaxe no sql

    c- algumas entradas podem ser validas no próprio código da aplicação e não 100% pelos SGBD

    e- qualquer usuário autorizado poderá fazer atualização nos dados por meio de uma aplicação web. 

  • descartar = dropar

  • O comando seria executado com sucesso? Não falta um ";" ao fim de "drop table EleicoesTable"?
  • Não falta, Paulo!

    O ";" apenas delimita o termino de uma instrução e o início de outra.

  • Isso é um exemplo de SQL Injector.

  • "descartará" é pra quebrar tudo. Aff