Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: magic_quotes_gpc

  1. #1

    magic_quotes_gpc

    ciao a tutti, ho letto un po' di informazioni sull'argomento ma ho un dubbio:

    il server che ospita il mio sito ha magic_quotes_gpc settato su "on":

    quindi, se non ho capito male, quando inserisco una stringa [b]"o'neil"[\b] nel mio database, la stringa dovrebbe diventare automaticamente [b]"o\'neil"[\b] giusto?

    ho letto in un post che sarebbe opportuno utilizzare mysql_real_escape_string():

    ecco il mio dubbio:
    quando lo utilizzo?
    in fase di inserimento ?!?

    Codice PHP:
    //inserimento:
    //recupero variabile
    $var=$_POST['var'];
    $var=mysql_real_escape_string($var);

    $sql="INSERT INTO tabella (stringa) values('$var')";
    //...

    //quando leggo dal database:
    //...
    $row=mysql_fecth_array($res);
    $var=stripaslashes($row[stringa]); 
    ho scritto delle ??
    scusate ma sono confuso!

    grazie a tutti per ogni chiarimento !
    aquatimer2000

  2. #2
    per correttezza (e anche per consumo di risorse, anche se quest'ultimo è probabilmente una quantità infinitesimale) va fatto prima lo stripslashes e non dopo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    ciao daniele_dll, scusa ma forse l'esempio che ho postato non è molto chiaro...

    io ho due form:

    1) la prima per l'inserimento di dati sul db, che passa i valori via post al file insert.php;
    2) la seconda, per interregoare il database ed avere un elenco di dati, che passa i valori via post, al file select.php;

    il file insert.php potrebbe andar bene così:

    Codice PHP:
    //recupero variabili passate dalla form
    $var=$_POST['var'];
    $var=mysql_real_escape_string($var);

    $sql="INSERT INTO tabella (stringa) values('$var')";
    //... 
    questo invece dovrebbe essere select.php:

    Codice PHP:
    //quando leggo dal database:
    //... query select...
    $row=mysql_fecth_array($res);
    $var=stripslashes($row[stringa]); 
    ho invertito qualche istruzione !?!
    eventualmente in quale file?
    da correggere come?

    Grazie per l'aiuto !
    aquatimer2000

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    107
    scusate, c'è una cosa che non mi torna e non mi è chiara...ma se il magic_quotes_gpc settato su ON vuol dire che tutti gli apici singoli, i doppi apici, i backslash( \) e NUL vengono preceduti in automatico dal backslash, giusto? se poi prima di inserire sul db uso anche la funzione mysql_real_escape_string che fa la stessa cosa non ho una ripetizione?
    Anche perchè alla fine, quando estraggo dal db, uso solo una volta stripslashes...

    Se io invece setto il magic_quotes_gpc su Off e uso solo mysql_real_escape_string (oppure addslashes che fa la stessa cosa) eppoi stripslashes sbaglio?
    perchè io ho fatto così, ma adesso mi sono venuti questi dubbi... :master:

  5. #5
    stesso dubbio che ho io ...

    però in alcuni topic, ho trovato delle informazioni che mi hanno messo in difficoltà:


    questa:
    http://forum.html.it/forum/showthrea...ighlight=magic

    e questa:

    http://forum.html.it/forum/showthrea...ighlight=magic

    però boh ... forse non ho letto bene. ecco perchè ho chiesto dei chiarimenti !

    Aspetto news !!
    Grazie a tutti
    aquatimer2000

  6. #6
    mysql_real_escape_string si utilizza quando magic_quote_gcp è off. rileva lo stato con get_magic_quote_gpc ed agisci di conseguenza. Qui ho scritto una funzione che può servire

    http://www.mtxweb.ch/php_learn/?p=864

    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  7. #7
    Originariamente inviato da aquatimer2000

    http://forum.html.it/forum/showthrea...ighlight=magic
    scusa ma nel post quotato, l'utente che chiede informazioni, ha anche lui magic_quote.. impostato su ON.. eppure gli è stato risposto di utilizzare stripslashes e mysql_real_escape_string

    quale è il modo più corretto e sicuro?

    ciao!
    aquatimer2000

  8. #8
    Originariamente inviato da aquatimer2000
    scusa ma nel post quotato, l'utente che chiede informazioni, ha anche lui magic_quote.. impostato su ON.. eppure gli è stato risposto di utilizzare stripslashes e mysql_real_escape_string

    quale è il modo più corretto e sicuro?

    ciao!
    http://forum.html.it/forum/showthrea...ostid=10166292

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Originariamente inviato da mtx_maurizio
    mysql_real_escape_string si utilizza quando magic_quote_gcp è off. rileva lo stato con get_magic_quote_gpc ed agisci di conseguenza. Qui ho scritto una funzione che può servire

    http://www.mtxweb.ch/php_learn/?p=864

    scusa se ti correggo, ma ... mysql_real_escape_string si usa sempre oltre a sistemare le slash sistema anche altri caratteri speciali

    stripslashes si usa solo se c'è il magic_quote_gpc attivo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  10. #10
    A, dici di togliere le slashes aggiunte da magic_quote_gpc (se è attivo) e poi passare per mysql_real_escape_string.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

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.