Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322

    AIUTO: come proteggersi da sql innection?

    salve ragazzi, ho un aiuto disperato , chi mi puo aiutare per capitre come devo fare per proteggermi da questa cosa, pensavp che fare cosi:

    codice:
    $msp=htmlentities($_POST['msp']);
    <input type="text" name="msp" size="40">
    Per favore, mi potete aiutare?

  2. #2
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322
    Nessuno che mi possa dare una mano?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    htmlentities ti protegge solo dali caratteri HTML
    Es: <h1>,ecc....
    Per difendersi dalla sql puoi usare diverse tecniche.....Inibire determinati caratteri come ',",(,), con la funzione str_replace, oppure usa le funzioni come addslashes, e mysql_real_Escape_string.
    Per maggiori info vai sul sito della php.net

  4. #4
    Originariamente inviato da angelo85ct
    Nessuno che mi possa dare una mano?
    puoi trovare varie guide sull'argomento che e' piuttosto esteso nelle sue variabili, meglio dare uno sguardo in giro per poter fare richieste piu' mirate.

    http://sicurezza.html.it/guide/
    http://sicurezza.html.it/guide/leggi...licazioni-web/

    sql significa database. Per immettere una stringa nel database devi passarla a mysql_real_escape_string che andra' a posizionare un carattere di escape prima di tutti i caratteri che possono corrispondere a dei comandi sql obbligandoli percio' ad essere considerati solo caratteri ascii e quindi non atti a "delinquere".

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

    Ma questo e' da fare a prescindere da una sql injection. Ma nel tuo primo post lasci l'argomento in sospeso.... "pensavp che fare cosi:" che fare cosi' cosa????

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

  5. #5
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322
    mi riferivo a questo:

    $msp=htmlentities($_POST['msp']);
    <input type="text" name="msp" size="40">

    credevo che bastasse fare htmlentities per risolvere il tutto

  6. #6
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322
    Ciao, ti volevo chiedere un consiglio, se ho un campo input cosi:


    Codice PHP:
    <input type="text" name="msp" size="40"
    e faccio le seguente funzione in php:

    Codice PHP:
    function Formatta($campo) {
     
    $campo=htmlentities($campo);
     
    $campo=mysql_real_escape_string($campo);


      
    $campo=ereg_replace(";"," ",$campo);
     
    $campo=ereg_replace("--"," ",$campo);
     
    $campo=ereg_replace("+","piu",$campo);
     
    $campo=ereg_replace("'"," ",$campo);
     
    $campo=ereg_replace("("," ",$campo);
     
    $campo=ereg_replace(")"," ",$campo);
     
    $campo=ereg_replace("="," ",$campo);
     
    $campo=ereg_replace("<"," ",$campo);
     
    $campo=ereg_replace(">"," ",$campo);
     
    $campo=ereg_replace("@"," ",$campo);

      
    $campo=ereg_replace("select"," ",$campo);
     
    $campo=ereg_replace("insert"," ",$campo);
     
    $campo=ereg_replace("create"," ",$campo);
     
    $campo=ereg_replace("delete"," ",$campo);
     
    $campo=ereg_replace("from"," ",$campo);
     
    $campo=ereg_replace("where"," ",$campo);
     
    $campo=ereg_replace("or"," ",$campo);
     
    $campo=ereg_replace("and"," ",$campo);
     
    $campo=ereg_replace("like"," ",$campo);
     
    $campo=ereg_replace("exec"," ",$campo);

      
    $campo=ereg_replace("sp_"," ",$campo);
     
    $campo=ereg_replace("xp_"," ",$campo);
     
    $campo=ereg_replace("sql"," ",$campo);
     
    $campo=ereg_replace("rowset"," ",$campo);
     
    $campo=ereg_replace("oper"," ",$campo);
     
    $campo=ereg_replace("begin"," ",$campo);
     
    $campo=ereg_replace("end"," ",$campo);
     
    $campo=ereg_replace("declare"," ",$campo);
     
    $campo=ereg_replace("update"," ",$campo);
     
    $campo=ereg_replace("*","per",$campo);


    Codice PHP:
    Formatta($msp); 
    questa potrebbe andare bene come soluzione?

  7. #7
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322
    altra cosa, molti siti usano questo: dotdefender Blocked Your Request
    mi sapete dire cosa è?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    guardate ragazzi non c'è bisogno di fare un casino di str_replace per eliminare tutti i caratteri basta eliminare solo quelli "fondamentali" tipo ' " ( ) se elimini queste l'sql molte nn funzioneranno

  9. #9
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322
    Ti ringrazio del sugerrimento

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.