- Home
- Categorie
- Coding e Sistemistica
- PHP
- Limitare uso di tag html nei forms
-
Limitare uso di tag html nei forms
Salve,
sto sviluppando un CMS in PHP. Per la gestione dei commenti è essenziale che io possa bloccare alcuni simboli dall'essere inseriti nel database (esempio: < > ) per evitare che codici HTML o, ancora peggio, javascript/sql injections possano venire eseguiti! Ad esempio nella versione Alpha 3 (la più sviluppata) questa mancanza fa in modo che gli utente possano inserire un link in html e se non lo chiudono si estende all'intera pagina! Che funzione posso usare per limitare l'uso di questi simboli?
-
Ciao max0005,
Puoi usare strip_tags per togliere i tag html.
Per quanto riguarda le sql inection vanno aggiungi i \ se i magic_quotes sono ad off.
-
Grazie!
Lo applicherò appena torno a casa! Esiste una funzione che permette di usare alcuni tags (esempio: <b> e <i>) ma solamente se sono stati chiusi (</b> o </i>) e in caso negativo a chiuderli per evitare che si estandano a tutta la pagina.Un'altra cosa: strip_tags rimuove anche eventuali codici javascript?
-
Con strip_tags dovrebbe rimuovere tutti i tag, quindi anche i tag javascript.
Per lasciare <b> <i> puoi inserirli nel secondo parametro, che sono i tag che non devono essere tolti.
-
Esiste un modo per attivare strip_tags globale? Perchè io ho molti campi input (profilo, commenti, guestbook etc) e in nessun voglio che l'html sia liberamente utilizzabile...
-
No, devi passarti il tempo a mettere la funzione per ogni variabile, al massimo potresti provare a fare (Penso funzioni):
[php]
$post = strip_tags($_POST);
[/php]
E vedere se in $post hai l'array senza tag html.
-
OK grazie Ho finito di modificare la pagine di registrazione aggiungendo i vari parametri di sicurezza (strip_tags, strlen, controllare che il nick/e-mail non siano già in uso, controllare che le due password combacino e criptarle e infine controllare che l'e-mail sia valido). Una faticaccia però ora sono soddisfatto del risultato.
-
Usa la funzione htmlentities() oppure mysql_real_escape_string()