Lar Finanças Pessoais Como evitar a injeção de código em C ++ - dummies

Como evitar a injeção de código em C ++ - dummies

Vídeo: AWS re:Invent 2015 | (DEV204) Building High-Performance Native Cloud Apps In C++ 2024

Vídeo: AWS re:Invent 2015 | (DEV204) Building High-Performance Native Cloud Apps In C++ 2024
Anonim

A primeira regra de evitar o código de injeção em programas C ++ nunca, nunca, permitem que a entrada do usuário seja processada por um intérprete de linguagem de propósito geral. Um erro comum com a injeção de SQL é que o programa aceita a entrada do usuário como se fosse sempre aceitável e inseri-lo em uma consulta SQL que ele então expulso para o mecanismo de banco de dados para processamento.

Por exemplo, um programa que solicita a entrada do usuário em uma data pode ser pirateado. A abordagem mais segura e fácil de usar seria fornecer ao usuário um gráfico de calendário a partir do qual ele poderia selecionar as datas de início e término. O programa criaria uma data com base no que o usuário clicou.

Se isso não for possível, o programa deve verificar cuidadosamente a entrada para se certificar de que a entrada estava no formato apropriado para uma data, neste caso aaaa / mm / dd < - em outras palavras, quatro dígitos seguidos por uma barra seguido de dois dígitos e uma barra e, finalmente, mais dois dígitos. Nada mais deve ser considerado entrada aceitável. Às vezes você não pode ser tão específico sobre o formato. Se você deve permitir ao usuário inserir texto flexível, pode pelo menos evitar caracteres especiais. Por exemplo, é praticamente impossível fazer injeção de código SQL sem usar uma cotação única ou dupla.

Você não pode inserir tags HTML sem usar um sinal menor que (). Ou você poderia simplesmente adotar a abordagem de que qualquer coisa que não seja texto ASCII não será tolerada:

// verifique algumas string 's' para se certificar de que é straight ASCII size_type off = s. find_first_not_of ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_"); se (off! = string:: npos) {cerr << "errorn";}

Este código pesquisa a string

s para um personagem que não seja um dos caracteres de A a Z, a através de z, 0 a 9, ou sublinhado. Se encontrar esse tipo de personagem, o programa rejeita a entrada.

Se você permitir apenas os caracteres latinos mostrados aqui, sua aplicação não será utilizável em muitos mercados estrangeiros, como aqueles que não usam conjuntos de caracteres em inglês (como árabe, chinês, hebraico ou Russo, para citar apenas alguns). Você pode ter que adotar a abordagem oposta e apenas procurar os personagens ruins.
Como evitar a injeção de código em C ++ - dummies

Escolha dos editores

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

ÀS vezes haverá não há problema em tirar o seu Canon Rebel T3 ou T3i fora e tirar fotos com configurações automáticas. A maior parte do tempo, você pode fazer com alguns ajustes simples. Alguns assuntos e situações de filmagem apresentam alguns desafios adicionais que exigem combinações de configurações mais complicadas. ...

Escolha dos editores

Obtendo o WordPress. org Software - dummies

Obtendo o WordPress. org Software - dummies

Depois de classificar seu host e domínio do site, você deve baixar e extrair os arquivos do WordPress pela WordPress. org e colocá-los no seu computador. Escolha um lugar que você lembrará, como um diretório de Documentos ou Download. Siga estas etapas: aponte seu navegador para o WordPress. org. A página principal do WordPress aparece. Clique em ...

Google AdSense para Bloggers de Mom - dummies

Google AdSense para Bloggers de Mom - dummies

Google O AdSense não é uma rede de anúncios orientada para a mãe, nem é A melhor opção de publicidade para a maioria dos blogs da mãe. Há certamente exceções a isso, especialmente se você blogar sobre produtos ou marcas. Todos os blogueiros que exibem publicidade devem ter um provedor de anúncios de backup - e o AdSense é uma ótima solução para essa necessidade. AdSense aprova ...

Relatório de conteúdo principal do google Analytics - dummies

Relatório de conteúdo principal do google Analytics - dummies

O relatório Top Content é um dos relatórios mais importantes no Google Analytics. Este relatório mostra as postagens mais populares no blog da sua mãe. Seu conteúdo popular dá uma visão do porquê seus leitores chegam até você. Os tópicos dessas postagens indicam o que as pessoas gostam, mesmo quando não comentam. Para visualizar ...

Escolha dos editores

Como fazer uma imagem disparar um link - as manequins

Como fazer uma imagem disparar um link - as manequins

Usam imagens para navegação . Eles são mais bonitos que os links de texto simples, e você pode adicionar a forma e a função na sua página com um elemento. Para criar uma imagem que desencadeia um link, você substitui um elemento no lugar do texto ao qual você ancoraria seu link. Esta marcação liga o texto: ...

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

O A web funciona porque você pode vincular páginas em seu site para páginas nos sites de outras pessoas usando um elemento de âncora simples. Quando você liga para o site de outra pessoa, você envia usuários para longe de seu próprio site. Para manter os usuários no seu site, HTML pode abrir a página vinculada em uma nova janela ...

Como criar tabelas em HTML5 - dummies

Como criar tabelas em HTML5 - dummies

O recipiente de marcação primária para tabelas em HTML é a tabela elemento. Ou seja, você usa a tag de abertura para denotar o início de uma tabela e você adiciona a tag de fechamento para encerrá-la. Além disso, os blocos de construção básicos para dados de tabela em HTML são a linha da tabela ( ) e os dados da tabela ...