Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Maneira 100% segura de armazenar html no MySQL


A injeção de SQL é, na maioria dos casos, facilmente evitada com o uso de instruções preparadas.

O XSS é mais difícil se você planeja permitir que os usuários publiquem marcação HTML. Você precisa remover todos os <script> tags, todas on* atributos de tags, todos javascript: urls, e mesmo assim isso provavelmente não é totalmente garantido para tornar o HTML de entrada seguro. Existem bibliotecas como HTMLPurifier isso pode ajudar, mas contanto que você permita HTML, você corre o risco de deixar algo malicioso passar.

Você pode usar uma biblioteca que implemente algo como markdown ou wikitext. Isso limita severamente o que os usuários podem inserir, enquanto ainda permite que eles marquem o conteúdo até certo ponto. Não é totalmente à prova (as pessoas ainda podem postar links para sites maliciosos e esperar que os usuários cliquem neles, o que alguns serão ingênuos o suficiente para realmente fazer), e você não poderá usar um editor rico como o TinyMCE sem algum tipo de plugin, mas é um trabalho muito mais simples limpar markdown do que limpar HTML.