Programação  
 
Conhecimento computador >> Programação >> Programação PHP /MySQL >> 
Fuja de consulta para o MySQL em Python
Python, uma linguagem de programação equipado com semântica dinâmica , é um favorito entre os programadores e codificadores , mas assim também é MySQL . Integração do MySQL com Python muitas vezes não é um grande problema para os programadores experientes , mas codificação pode ficar um pouco complicado por causa da API C para _mysql mapeamento de função . Fuga é um destes problemas . MySQLdb

Para o banco de dados API Python, MySQLdb muitas vezes é a arma de escolha . Coders pode evitar gravação direta para o módulo usando a interface MySQL . Isso permite a implementação de MySQL C API , mas isso nem sempre pode ser uma tarefa simples . MySQL C API tem seus próprios processos orientados a objetos . Ao trabalhar com funções de fuga, " mysql_escape_string ()" se traduz em MySQL como " _mysql.escape_string (). " O problema com essa estratégia é que sem a devida escapando para o MySQL em Python , pode haver problemas associados com cordas complicadas , como eles não podem escapar corretamente.
variáveis ​​inserção

Outro problema ocorre quando os codificadores inserir variáveis ​​em tabelas MySQL . No trecho a seguir , o codificador insere quatro variáveis ​​em uma tabela.

Cursor.execute ("" " INSERT INTO armário (sapatos, meias, legwarmer , ) VALUES superiores ( Nike, Puma , lã, adidas ) "" ")

Este trecho pode não funcionar a menos que o programador adiciona um caráter próprio de escape , como "% s " . As aspas utilizadas também são caracteres de escape , mas para escapar variáveis ​​, o codificador deve usar "% s" .
Percent Sign

Os modificadores utilizados em a instrução SQL que são responsáveis ​​para os parâmetros de ligação pode ser um pouco confuso . sintaxe estilo " printf" é comumente usado na biblioteca cliente MySQL . O trecho de revista deve então ficar assim:

cursor.execute ("" " INSERT INTO armário (sapatos, meias, legwarmer , ) VALUES superiores ( % ( nike ) s, % ( Puma) s ,% ( lã) s, % ( adidas ) s) "" ")

no entanto, adicionando os caracteres de escape não é suficiente para aliviar o problema. Basta adicionar esses personagens só agora torna o código suscetível a problemas de formato de cordas e aberto a ataques maliciosos.

Considerações

O codificador pode ser capaz de codificar um seguro , trabalhando código, adicionando mais edições ao código. Aqui está o trecho final de trabalho :

cursor.execute ("" " INSERT INTO Canções armário (sapatos, meias, legwarmer , superiores ) VALUES (% s , % s , % s , % s) " , " " , ( nike , puma, lã, adidas ) )

Outro problema pode ocorrer com o símbolo de porcentagem. Se o codificador usa um sinal de porcentagem no script, (especificamente na cadeia de consulta ", deixando de executar ()") , deve ser devidamente escapou - dois sinais de porcentagem deve ser usado. Um dos sinais percentuais atuará como o identificador para fuga.

Anterior :

Próximo : No
  Os artigos relacionados
·Como proteger um painel de administração em PHP Sem S…
·Ajuda com PHP e compilação Falha 
·Get_File_Contents PHP : Permissão negada 
·PHP Erro: Indefinido offset 
·Diferença entre PHP4.0 & PHP5.0 
·PHP Função incorreta 
·MySQL 1030 Erro 
·A atualização Coluna atributo é nulo no MySQL 
·Função PHP em um cookie 
·SQL não suportado Dados Tipo de erro em Integer Coluna…
  Artigos em destaque
·Como pensar como um programador 
·Como calcular as vogais , consoantes e espaços de uma …
·Como converter um inteiro para um personagem em C + + 
·Como fazer um projeto da Web no Eclipse através do Nav…
·Como converter curto para Int em Java 
·Como usar SendKeys com uma seqüência de URL 
·Como usar comandos SQL 
·Como alterar o Javascript senha em um computador IBM Ap…
·Java respingo Tutorial Tela 
·O que é a sintaxe estrutural ou Estrutura de Programaç…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados