Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    proteggersi dalla sql injection

    ciao, qualche consiglio o codice per proteggersi dalla sql injection per favore????

    pensavo di verificare che nei campi inseriti non ci siano apici o alcune parole di sql tipo and o or.


    voi come fate?


    mi mostrate qualche riga di codice per favore?


    grazie
    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    39
    Puoi usare la funzione addslashes() che inserisce gli slash(\) quando trova un apice (o un altro slash).

    Ricordati di fare stripslashes() quando estrai dal database.

    Occhio alla versione di PHP installata e al problema "magic quotes"

    http://it.php.net/addslashes
    Crystal Solutions
    Sito Web - Crystal Solutions Siti Internet

  3. #3
    ho php 4.3.

    solo con addslashes me la cavo per la sql injection???

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    39
    Puoi guardare questo articolo su html.it

    http://php.html.it/articoli/leggi/89...l-injection/1/


    Ciao
    Crystal Solutions
    Sito Web - Crystal Solutions Siti Internet

  5. #5
    io prima di tutto uso una mia funzione come questa per i GET e POST

    Codice PHP:
    /** Converte i dati in UTF-8 come entita html
    *
    * Questa funzione preleva la variabile passata e lo restituisce
    * modificato x evitare le injection. tutti i caratteri particolari vengono strasformati
    * come entita html (Es: +  diventa %2b). Se viene passato il valore opzionale regexp, viene eseguito
    * un test con la reg exp passata.
    *
    * <code>
    * $GET=CleanInjection($_GET["var"],"[A-Za-z]{1,}");
    * # Esegue anche una verifica che il dato $_GET["var"] sia di sole lettere.
    * </code>
    *
    * @param string $Request valore da parsare
    * @param string $RegExp valore [i]OPZIONALE[/i] che permette di eseguire una verifica sui dati con una regexp.
    * @return boolean true in caso di successo
    */
    function CleanInjection($Request=false,$RegExp="")
        {
        
    $Charset="UTF-8";
        if(
    VarExist($Request)==true)
            {
            if(
    VarExist($RegExp)==true)
                {
                
    /*Eseguo la RegExp*/
                
    if(@preg_match("/".$RegExp."/",$Request,$outPut)!=1)
                    {return 
    false;}
                }
            
    $Request=htmlentities($Request,ENT_QUOTES,$Charset);
            return 
    $Request;
            }else{return 
    false;}
        } 
    Codice PHP:
    $NewPost=CleanInjection($_POST["variabile"]); 
    ti metto anche il commento inserito utile se parsi il codice con il PhpDocumentator.


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.