Visualizzazione dei risultati da 1 a 10 su 16

Discussione: info su htmlentities()

Visualizzazione discussione

  1. #5
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Sapresti gentilmente spiegarmi meglio la faccenda?
    Sicuro, vediamo di chiarire il dubbio. Quando devo usare htmlentities? Solamente quando devo stampare a video una stringa. Ogni altro utilizzo è abusivo. Esempio:
    codice:
    $data = ...;
    echo "Il contenuto della variabile data è:" . htmlentities($data);
    $data è comunemente l'input che il tuo utente invia alla pagina. (_GET,_POST o _COOKIE che sia). Ma nulla vieta che la stringa arrivi da un database dopo averlo interrogato. O anche dalla lettura di un file, utilizzando file_get_contents(). Insomma, $data è la tua stringa di cui non conosci il contenuto e che vuoi stampare a video. Usiamo htmlentities (o ancora meglio, htmlspecialchars()) perché non ci fidiamo del suo contenuto. E se contenesse uno script javascript? O dei tag html per modificare la struttura della pagina su cui stampo quei dati? Voglio prevenire questa situazione e lo faccio con quella funzione.
    Ma non è solo perché non mi fido della provenienza di quei dati che uso quella funzione. Perché la userei anche se $data sia un contenuto scritto solo da me. Perché? Perché se il contenuto fosse qualcosa del tipo: "Ciao a tutti da parte di <BlaBla>. A domani." allora <BlaBla> verrebbe riconosciuto come un tag html, e come tale interpretato. Anche se non era nelle mie intenzioni: io volevo solo scrivere qualcosa tra "<" e ">". Dandolo in pasto a htmlentities o htmlspecialchars allora quei caratteri vengono sostituiti con le relative entità, salvandomi da questa situazione.

    Cosa fa htmlspecialchars? Dalla documentazione:
    Alcuni caratteri hanno significati particolari in HTML, e, per questo, devono essere rappresentati tramite entità HTML, se devono mantenere il proprio significato. Questa funzione restituisce restituisce una stringa con la conversione di alcuni di questi caratteri; la conversione svolta non è sempre valida nell'ambito della programmazione web.
    Questa funzione è utile nel prevenire la presenza di marcatori HTML negli input utente, tipo nei forum o nei guest book.
    Ultima modifica di .Kurt; 05-12-2014 a 03:10

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.