| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> PHP /MySQL Programmazione >> Content
    Fuga di query per MySQL in Python
    Python , un linguaggio di programmazione dotato di semantica dinamica , è uno dei preferiti tra i programmatori e programmatori , ma lo è anche MySQL . L'integrazione di MySQL con Python spesso non è molto più di un problema per i programmatori esperti , ma la codifica può diventare un po ' contorto a causa delle API C per la mappatura funzione _mysql . Fuggire è uno di questi problemi . MySQLdb

    Per il database API di Python , MySQLdb è spesso l'arma di scelta . Codificatori possono evitare di scrittura diretta al modulo utilizzando l'interfaccia di MySQL . Questo permette l'implementazione di MySQL C API , ma questo potrebbe non essere sempre un compito semplice. MySQL C API ha i propri processi orientati agli oggetti . Quando si lavora con le funzioni di fuga , " mysql_escape_string ( ) " si traduce in MySQL come " _mysql.escape_string ( ) . " Il problema di questa strategia è che senza fuggire per MySQL in Python , ci possono essere problemi associati con le stringhe complicate , in quanto non possono sfuggire correttamente .
    Inserimento variabili

    Un altro problema si verifica quando i programmatori inseriscono variabili in tabelle MySQL . Nel seguente frammento di codice , gli inserti coder quattro variabili in una tabella.

    Cursor.execute ( " " " INSERT INTO armadio ( scarpe , calzini , scaldamuscoli , superiore) VALUES ( nike , puma , lana , adidas ) " " " ) per

    Questo frammento di codice potrebbe non funzionare a meno che il codificatore aggiunge un buon carattere di escape come "% s " . Le doppie virgolette utilizzati sono anche i personaggi sfuggono , ma per le variabili in fuga , il coder devono utilizzare "% s" .
    Segno di percentuale

    I modificatori utilizzati in l'istruzione SQL che sono responsabili per il legame dei parametri può essere un po 'di confusione . sintassi stile " printf" è comunemente usato nella libreria client MySQL . Il frammento riveduto dovrebbe quindi apparire così:

    cursor.execute ( " " " INSERT INTO armadio ( scarpe , calzini , scaldamuscoli , superiore) VALUES ( % ( nike ) s , % ( puma ) s , % (lana ) s , % ( adidas ) s ) " " " ) per

    Tuttavia , aggiungendo i caratteri di escape non è sufficiente per alleviare il problema. Solo l'aggiunta di questi personaggi solo ora rende il codice suscettibile di formattare i problemi di stringa e aperto ad attacchi dannosi.
    Considerazioni

    Il codificatore può essere in grado di codificare una cassetta di sicurezza , di lavoro codice aggiungendo ulteriori modifiche al codice. Ecco il frammento finale di lavoro :

    cursor.execute ( " " " INSERT INTO Canzoni armadio ( scarpe, calze, legwarmer , superiori) VALUES ( % s , % s , % s , % s ) " , " " , ( nike , puma , lana , adidas ) ) per

    Un altro problema può verificarsi con il simbolo di percentuale . Se il codificatore utilizza un simbolo di percentuale nello script , (in particolare nella stringa di query ", non riuscendo a execute () " ) , deve essere adeguatamente sfuggito - due segni percentuali devono essere utilizzati . Uno dei segni percentuali agirà come identificatore per la fuga.

    Previous :

    next :
      Articoli Correlati
    ·Come convertire i caratteri in numeri ASCII in PHP 
    ·Come rimuovere tag vuoti in PHP DOM 
    ·Come controllare la disponibilità di dominio in PHP 
    ·Come ottenere il server Data e ora per il conto alla ro…
    ·Come fare Facebook Connetti con PHP 
    ·Come ottenere script PHP Up & Running With Dreamweaver …
    ·Come convertire classe PHP a XML 
    ·Come installare un pacchetto PHP 
    ·Come inserire PHP MySQL prepared statement 
    ·Come disattivare query in MySQL cache 
      Articoli in evidenza
    ·Come rinominare una cartella in VB6 
    ·Java vs C : Analogie e differenze 
    ·Come rendere le applicazioni per Blackberry App World 
    ·Come creare un array di numeri sequenziali in Ruby 
    ·Come riferimento a un'immagine in C + + 
    ·Come disattivare PHP Register Globals 
    ·Come creare un'istruzione IF Else in C 
    ·Come attivare il pulsante Disattiva modulo in Javascrip…
    ·Come applicare Convoluzione in MATLAB senza usare la fu…
    ·Che cosa è un client proxy ? 
    Copyright © Conoscenza Informatica http://it.wingwit.com