Procura

Banco de dadosSql


EXERCÍCIOS - Exercício 71

  • (FCC 2017)

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:




A) Como o código injetado está sintaticamente incorreto, não será executado pelo servidor de banco de dados.

B) Mesmo que o código SQL injetado esteja sintaticamente correto, a violação será detectada programaticamente.

C) É responsabilidade do servidor de banco de dados validar todas as entradas de usuário e verificar o código que executa comandos SQL.

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.

E) Este é um exemplo de como uma aplicação web pode dar liberdade ao usuário de atualizar dados em uma base de dados, mas somente os programadores, que conhecem os nomes e campos das tabelas, conseguem fazer isso.


Próximo:
EXERCÍCIOS - Exercício 72

Vamos para o Anterior: Exercício 70

Tente Este: Exercício 146

Primeiro: Exercício 1

VOLTAR ao índice: Banco de dados






Cadastre-se e ganhe o primeiro capítulo do livro.
+
((ts_substr_ig=0.00ms))((ts_substr_id=2.01ms))((ts_substr_m2=0.00ms))((ts_substr_p2=0.54ms))((ts_substr_c=1.01ms))((ts_substr_im=0.76ms))
((total= 4ms))