Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    htmlspecialchars ENT QUOTES

    ciao a tutti,
    nel db inserisco del testo facendo uso di htmlspecialchars($stringa, ENT QUOTES). Cioè, le accentate èàèì ecc. vengono inserite così, mentre apici e virgolette e <> vengono inserite con la loro codifica html (&quot, &lt ecc..)

    Va bene in questo modo, oppure devo inserire solo entità anche per le accentate? oppure inserisco apici e virgolette e <> così come sono (togliendo cioè ENT QUOTES)?

  2. #2
    Innanzi tutto non dovresti inserire nel database il testo codificato, le entita' HTML hanno senso quando mandi il testo in output a un browser -- al database quei caratteri non fanno niente.

    Poi ormai per tutti i caratteri particolari "non standard" la cosa piu' corretta da fare e' usare il charset UTF8 e inserire i caratteri direttamente e non le loro entita' HTML. Si usa htmlspecialchars solo per mandare in output testo che potrebbe contenere tag HTML e si vuole mostrarle invece che farle interpretare.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    Con UTF8 era un casino in più punti.
    Perciò, io vorrei tenere la codifica Latin1 sul db e ISO-8859-1 per le pagine: con queste premesse posso inserire nel db caratteri speciali html (" ' <> è à ecc..) così come sono senza trasformarli nelle rispettive entità? o ci sono problemi di sicurezza?

  4. #4
    I problemi di sicurezza li hai solo se invii in output al browser del testo potenzialmente pericoloso senza trasformare i caratteri '<' e '>'.

    Per evitare problemi nell'esecuzione delle query, per ogni valore esterno che devi inserire nel database puoi fare cosi':
    codice:
    $valore_pulito = mysql_real_escape_string(stripslashes($valore_originale));

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    io uso mysql_real_escape_string ma senza stripslashes: altrimenti prima metto i \ e poi li tolgo

    Quindi, mi stai dicendo che non serve htmlspecialchars(ENT QUOTES) quando inserisco il testo nel db?

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.