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

    sql injections htmlentities

    Scusate lo so che questo argomento è già stato trattato mille volte, ho letto molti forum ma ho ancora un dubbio.

    Ho creato un blog dove gli utenti possono commentare. Ogni stringa inserita dall'utente la sterilizzo con htmlentities($stringa,ENT_QUOTES) e poi la inserisco nel database. Domanda: htmlentities mi protegge da qualsiasi sql injection?

    Se uso htmlentities, non è inutile usare anche mysql_real_escape_string?

    Non è più sicura htmlentities rispetto a mysql_real_escape_string?

    Grazie mille!

    Antonio

  2. #2
    no, anzi, è il contrario.

    mysql_real_escape_string è l'unica "protezione" affidabile contro gli attacchi SQL Injection.
    La funzione è stata creata proprio per questo

    htmlentities (e htmlspecialchars) al massimo possono proteggerti dagli attacchi XSS (anche se sono protezioni piuttosto deboli).
    Possono convertire anche gli apici, certo, ma è una protezione quasi infima se la paragoniamo a quella di mysql_escape_string, e, in particolar modo, a mysql_real_escape_string (che tiene conto anche del charset utilizzato).

    Io personalmente uso
    Codice PHP:
    mysql_real_escape_string(htmlentities($stringa)); 
    ma non per avere una "doppia protezione": htmlentities lo utilizzo esclusivamente per rendere il codice valido e per evitare che si utilizzi HTML via GET/POST trasformando i caratteri speciali in entità (il vero scopo della funzione) più che per rendere sicuro l'inserimento di dati in un db.

    Ciao.

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    E' concettualmente sbagliato usare htmlentities() per inserire i dati nel db.
    E' una funzione legata all'html, ergo andrebbe usata in fase di visualizzazione sul browser.

  4. #4
    ok ora ho risolto il dubbio e ho modificato grazie!

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.