![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) | |
|
Consiglio Direttivo
|
[Stringhe] htmlentities();
PHP 4, 5
Sintassi: string htmlentities ( string $string [, int $quote [, string $charset ]] ) htmlentities è una funzione di PHP che, come avviene con la funzione htmlspecialchars();, converte i caratteri sensibili in entità HTML, con l'unica differenza che la presente funzione converte tutti quei caratteri che hanno una corrispondente entità HTML. Il browser leggerà il nostro script è visualizzerà il valore originario delle nuove entita' HTML, cosa che invece non accadrà per il nostro codice, invece, dato che per lui non rappresenteranno più caratteri marcatori. ![]() Come è facile immaginare la presente funzione torna molto utile ogniqualvolta si ricevono dati dall'esterno e quindi bisogna assicurarsi che nessuno posti del codice dannoso. Il parametro $quote (inserito dal modulo PHP 4.0.3) indica alla funzione cosa deve fare quando la nostra stringa contiene degli apici (singoli o doppi), e puo' assumere i seguenti valori:
Quote:
I set di caratteri supportati dalla funzione sono i seguenti: ![]() Altri set di caratteri verranno sostituiti con quello di default. La funzione inversa alla presente è html_entity_decode(); | |
|
__________________
Qui, Quo, Qua Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO? Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!! Ultima modifica di Samyorn : 02-09-08 21:01. |
||
|
|
|
|
|
|
|
#2 (permalink) |
|
Banned
Data di registrazione: Dec 2007
Messaggi: 368
|
Non so se sia possibile commentare.
Io lo faccio, al massimo poi cancellate questo mio intervento. Non mi piace usare questa funzione. Spiego perchè: Ok se il controllo si limita allo studio del contenut odi una variabile magari acquisita con un _GET o _POST, ma se dobbiamo poi inserire tale contenuto in un database le cose diventano un pò complicate. Pensiamo ad esempio ad una cella di una tabella che può contenere una stringa di 10 caratteri al massimo. Io in una form inserisco la stringa 'Portaile84' che a seguito dello studio utilizzando la funzione oggetto di questo thread risulterà 'Portaile84' Ora, la prima può "andare bene", escludendo che se aggiungiamo qualcosa potrebbe essere usata per un SQL injection o altro che non sto qui ad indicare :P, visto che rientra nel limite massimo dei caratteri. Peccato che non sarà la prima ad essere usata, ma la seconda dopo essere stata convertita. Da 12 caratteri siamo passati a 22 caratteri. E se non erro, qualora volessimo memorizzare questa stringa nel nostro database, la stringa memorizzata risulterebbe 'Portaile8 che se stampata poi in una pagina html tornerebbe 'Portaile8 Oserei dire: risultato davvero pessimo. :P |
|
|
|
|
|
#3 (permalink) | |
|
Consiglio Direttivo
|
Ciao Portaile84 e grazie del tuo intervento
![]() Così come riportato nel thread aperto da Giorgio per la presentazione della sezione: Quote:
![]() Per tornare in tema....credo che la problematica relativa ai campi a caratteri "limitati" sia comune a qualunque tipo di funzione che agisca sulle stringhe che tu possa utilizzare. Magari affiancando altri accorgimenti all'uso di funzioni come la presente il problema si risolve o lo si aggira. Vediamo che ne pensano gli altri ![]() | |
|
__________________
Qui, Quo, Qua Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO? Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!! |
||
|
|
|
|
|
#4 (permalink) | |
|
Banned
Data di registrazione: Dec 2007
Messaggi: 368
|
Quote:
![]() Se posso dare la mia soluzione, quando effettuo uno studio sui contenuti di una variabile, personalmente quando posso evito l'uso di questa funzione. Preferisco invece far lavorare un pò di più il server e magari richiamare una funzione che svolge questo compito. Ad esempio una che ricevendo una variabile come argomento (quella sulla quale voglio studiare il contenuto) e un'altra che contiene un array di caratteri diciamo Hot. La funzione analizza tutti i caratteri e in base ad altre direttive se viene riscontrata la presenza di un carattere Hot o lo elimina (bloccando la procedura e restituendo un messaggio di errore) oppure cerca di annullare eventuali effetti collaterali mantenendo il suo contenuto. | |
|
|
|
|
|
#5 (permalink) |
|
Consiglio Direttivo
|
beh, ottima cosa direi
le funzioni "fai da te" solitamente possono dare quel punto in più di sicurezza essendo, appunto, imprevedibili ![]() Vediamo se c'è qualcuno che invece si trova bene con l'uso di questa funzione...forza fatevi avanti, siamo ingordi di sapere |
|
__________________
Qui, Quo, Qua Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO? Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!! |
|
|
|
|
| Tags: funzioni stringhe, htmlentities, php |
| Strumenti di discussione | |
|
|