Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    E' buona norma usare sempre strip_tags o è sbagliato?

    Ciao a tutti,
    ho notato che alcuni visitatori che si registrano nel mio sito usano inserire a volte codice html nei campi input soprattutto nel campo username
    La maggioranza di coloro che lo fanno usa tags [b] oppure <h....> uno solo ha inserito <font......color.....> ma io temendo di peggio filtro tutto prima di salvare su tabella mysql con strip_tags()

    La mia domanda è:
    Va bene Usare sempre strip_tags() anche in quei campi scritti in maniera pulita ovvero che non presentano tags htnl o è bene accertarsi prima che abbiano tags html al loro interno e usare strip_tags solo in quei casi??

    Grazie

  2. #2
    Se non vuoi che l'utente possa inserire codice HTML, applica sempre strip_tags() oppure una versione alternativa per gestire anche l'eliminazione di tag come STYLE e SCRIPT.

    Se vuoi permettere agli utenti un certo livello di personalizzazione del design, prova con bbcode.

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    A livello puramente teorico (comporta uno sforzo maggiore), la cosa migliore da fare sarebbe salvare i dati sul db senza eliminare i tag, e poi eliminarli (o magari semplicemente neutralizzarli attraverso htmlentities()) in fase di visualizzazione sul browser.

  4. #4
    IMHO non è una teoria corretta.

    Se il campo NON deve contenere del codice HTML, allora dovrà essere eliminato PRIMA del salvataggio.

  5. #5
    tra l'altro a inserire valori nel database bisogna fare attenzione al SQL injection quindi è buona norma secondo come la penso io strippare via tutto (html, script e affini), verificare se il risultato coincide con quello da inserire.. numeri, date, stringhe, url ecc... e eseguire un bel escape per il db.

    Ciao

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da filippo.toso
    IMHO non è una teoria corretta.

    Se il campo NON deve contenere del codice HTML, allora dovrà essere eliminato PRIMA del salvataggio.
    Io l'input lo valido, e se c'è qualcosa che non mi piace, lo rifiuto.
    Se lo salvo, salvo quello che ha scritto l'utente.

    Sempre in linea di principio eh

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da dav22
    tra l'altro a inserire valori nel database bisogna fare attenzione al SQL injection quindi è buona norma secondo come la penso io strippare via tutto (html, script e affini), verificare se il risultato coincide con quello da inserire.. numeri, date, stringhe, url ecc... e eseguire un bel escape per il db.
    Ah già, le famose SQL injection via codice html

  8. #8
    Originariamente inviato da luca200
    Ah già, le famose SQL injection via codice html
    cioè? me lo spieghi? non l'ho capita


    edit: la prossima volta cerca di fare solo un post (al massimo editalo va che poi creiamo troppi tentativi di sql injection :P)

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da dav22
    cioè? me lo spieghi? non l'ho capita
    C'era un pizzico di ironia. Il codice html non ha nessun nesso con le SQL injection


    Originariamente inviato da dav22
    edit: la prossima volta cerca di fare solo un post (al massimo editalo va che poi creiamo troppi tentativi di sql injection :P)
    con chi ce l'hai?

  10. #10
    hai ragione però pensavo che potesse essere utile citarlo così se qualcuno arriva in futuro a leggere il post sa che ci sono altre cose a cui fare attenzione quando si prendono i dati e si inseriscono brutalmente nel db, poi se secondo de ho detto uan castroneria ti prego di corregermi così imparo qualcosa di nuovo

    con chi ce l'hai?
    Con te, c'era un pizzico di ironia
    Hai inserito due post consecutivi senza alcuna necessità.. :P

    susu, fine OT

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.