Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316

    mysqli_real_escape_string

    ciao, sto usando questo metodo per evitare sql injection.
    Ho una form che passa molti (14) valori da inserire nel db. Volevo sapere se devo per forza farli passare tramite una variabile (per usare msqli_real_escape_string) oppure se c'è un metodo per risparmiare di creare 14 nuove variabili

    sostanzialmente evitare questo
    codice:
    $nome = mysqli_real_escape_string($con, $_POST['nome']);
    $cognome = mysqli_real_escape_string($con, $_POST['cognome'];
    $data = mysqli_real_escape_string($con, $_POST['datepicker'];
    $luogoN = mysqli_real_escape_string($con, $_POST['luogoN'];
    $provinciaN = mysqli_real_escape_string($con, $provinciaN);
    $viaRes = mysqli_real_escape_string($con, $_POST['viaResidenza'];
    $nCiv = mysqli_real_escape_string($con, $_POST['nCiv'];
    $comune = mysqli_real_escape_string($con, $_POST['comune'];
    $provinciaR = mysqli_real_escape_string($con, $provinciaR);
    $CAP = mysqli_real_escape_string($con, $CAP);
    $tel = mysqli_real_escape_string($con, $_POST['telefono'];
    $mail = mysqli_real_escape_string($con, $_POST['mail'];
    $cf = mysqli_real_escape_string($con, $_POST['cf'];
    $ruolo = mysqli_real_escape_string($con, $_POST['ruolo'];
    grazie,
    ciao

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Puoi usare tutti i mysqli_real_escape_string() direttamente dentro la query se non vuoi creare le variabili.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    o creare una funzione che parsa direttamente i valori inseriti nelle query senza dover mai più purificare niente.

  4. #4
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    giusto..creerò una funzione..comunque, per curiosità..c'è un modo per verificare se myql_real_Escape stia funzionando correttamente? cioè io al momento lo sto usando ma non so se effettivamente stia facendo quello che deve fare
    L.

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Ma certo che farà il suo dovere, come farebbe a non funzionare? Che altro dovrebbe fare? Sarebbe un bel bug di PHP se non facesse ciò per cui è stata scritta.

    Per la funzione per il parsing che fai? Scrivi una nuova funzione che a sua volta chiama mysqli_real_escape_string()? A che servirebbe?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Per la funzione per il parsing che fai? Scrivi una nuova funzione che a sua volta chiama mysqli_real_escape_string()? A che servirebbe?
    Non proprio, io utilizzo una mia funziona che lavora così (es.):
    execQuery('SELECT * FROM users WHERE id = %d AND pass = %s', array($_POST['id'], $_POST['pass']));

    Evitando il problema di potermi scordare di purificare qualcosa ed evitando di dover scrivere la funzione di escape infinite volte...

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Ed execQuery() che fa?

  8. #8
    http://php.net/manual/it/pdo.prepare.php

    Edit: D'oh... avevo modificato invece di quotare xD
    Ultima modifica di Alhazred; 03-12-2014 a 00:03
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    Piano piano lì volevo arrivare, alla scoperta dell'acqua calda...

  10. #10
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Piano piano lì volevo arrivare, alla scoperta dell'acqua calda...
    Moderatore mi sabota i miei post?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.