4
respostas

Validação de textarea com tags HTML

Possuo um textarea com WYSIWYG (Summernote) e estou na dúvida de como validar este campo para salvar no BD, pois antes de implantar este editor, estava utilizando o FILTER_SANITIZE_STRING, que acaba limpando todas as tags html, pelo visto, vou ter que tirar este sanitize. Geralmente como é feita a validação de campos como esse? ou o próprio editor cuida desta questão? Pois eu percebi que quando inserido uma tag PHP, ele automaticamente comenta a linha, mas como isso é feito pelo javascript, acabo ficando meio receoso.

4 respostas

Bom dia Mario!

Se você utilizar o FILTER_SANITIZE_STRING e remover as tags html, seu texto vai aparecer sem formatação quando você fizer a leitura do banco de dados.

Qual é a validação que você precisa fazer?

Seria uma validação do conteúdo do texto ou do html em si?

Se for só do texto, você pode criar uma variável e colocar o texto sem as tags html nela, validar, depois continuar seu fluxo.

Quando você fala "quando inserido uma tag PHP, ele automaticamente comenta a linha" é o editor Summernote que faz isso? Talvez você precise fazer a validação via JavaScript.

Então, preciso validar esse textarea contra SQLInjection, só que ficou uma coisa meio estranha, pois agora tenho liberar o código html. Apesar de ter que remover o SANITIZE desta entrada, estou utilizando PDO com os binds, acredito que isso ajude a proteger, oque acha ? Sobre o editor, existe um aba onde pode ser inserido código html na mão, se inserido um código php ele comenta a linha, então chega a ser uma espécie de validação, mas, em javascript, por isso fico meio receoso.

Bom dia Mario!

Remove as tags html do texto e depois faz a validação.

Creio que utilizar os binds seja uma boa ferramenta de proteção.

Você pode criar sua própria função de validação dos dados de entrada do formulário. Dá uma olhada:

http://www.zoomdigital.com.br/sql-injection-o-que-e-e-como-evitar/

O PHP tem uma função nativa chamada strip_tags que remove as tags html e php de um texto. Se o seu medo é o JavaScript, você pode remover as possíveis tags

<script>
    ...
</script>

Dentro da função de validação que você criar.

Bom dia Mario! E aí, conseguiu resolver?