Memorizzazione post utenti in database

walter4991

Nuovo Utente
28 Feb 2013
4
0
0
Salve, ho la necessità di salvare all'interno del database, i commenti degli utenti.

Il commento letto dall'editor (CKEditor) è in html, come dovrei processarlo e salvarlo per far in modo che in fase di visualizzazione non venga eseguito del codice arbitrario, ad esempio delle XSS?
 
ciao
fai un elenco dei tag ammessi esempio:
PHP:
<?php
$ammessi="<br><br /><strong>";
$testo=strip_tags($testo,$ammessi);
?>
srtip_tags elimina tutti i tag meno quelli che tu permetti
 
ciao
fai un elenco dei tag ammessi esempio:
PHP:
<?php
$ammessi="<br><br /><strong>";
$testo=strip_tags($testo,$ammessi);
?>
srtip_tags elimina tutti i tag meno quelli che tu permetti
Ma l'editor mi produce tag "differenti", ad esempio:

PHP:
<p><span style="font-family:arial,helvetica,sans-serif;"><span style="color:#0000CD;">prova</span></span> <span style="color:#00FF00;">prova</span> <span style="color:#FF0000;">prova</span></p>

Come farei a distinguere le varie configurazioni del tag span?
 
ciao
metti tra i permessi <span> e strip non lo elimina.
l'importante è che ti elimini es. <script type="text/javascript"> o se non li vuoi <a href="pinco pallo"...>

edit
dai un occhio a
http://www.php.net/manual/en/function.strip-tags.php
Ah, perfetto allora.
In teoria quali sono considerati tag pericolosi oltre a "<script>"?
E' possibile indicare solo quelli da eliminare invece di indicare quelli da tenere? In questo modo l'elenco sarebbe molto più corto.
 
Ultima modifica:
ciao
no solo i permessi.
il tag script è tra i più pericolosi però può essere bene teogliere <a> e <src> cioè quei tag che possono avere dei richiami esterni.
se vuoi inserire es delle immagini ti conviene non farle inserire direttamente dal editor (alcuni lo permettaono) ma forse è meglio fare un campo file apposito e verificare il tipo
 
ciao
no solo i permessi.
il tag script è tra i più pericolosi però può essere bene teogliere <a> e <src> cioè quei tag che possono avere dei richiami esterni.
se vuoi inserire es delle immagini ti conviene non farle inserire direttamente dal editor (alcuni lo permettaono) ma forse è meglio fare un campo file apposito e verificare il tipo
Grazie dell'aiuto e dei consigli. Per ora ho risolto con questa funzione:

PHP:
function clear_text($testo)
	{
		$cerca = array("<object>","</object>","<embed>","<applet>","</applet>","<iframe>","</iframe>","<script>","</script>");
		$testo = str_replace($cerca, "", $testo);

		return $testo;
	}
 

Discussioni simili