A maior parte dos ataques de aplicativos web consiste em solicitar o site com dados introduzidos manualmente para provocar um contexto não esperado.
O protocolo HTTP, suporte da comunicação na web, permite veicular parâmetros na forma de pedidos de várias maneiras: cookies; campos de formulários; URL; rubricas HTTP.
Todos os meios de transmissão de dados podem ser manipulados sem problema por um usuário e que, consequentemente, os dados seus não devem ser considerados como fiáveis. Desta maneira, é impossível basear a segurança nos controles realizados por parte do cliente (valores propostos por um formulário HTML ou códigos Javascript que verificam a exatidão dos dados). Além disso, o estabelecimento de uma conexão SSL não protege em nada contra a manipulação dos dados transmitidos, apenas certifica a confidencialidade do transporte da informação entre o usuário final e o site web.
Desta forma, qualquer projetista de aplicativos web deve necessariamente efetuar um rigoroso controle dos dados, tanto sobre o seu valor (mínimo e máximo para um dado numérico, controle dos caracteres), como tmbém no tipo e comprimento.