Há duas frentes a serem consideradas ao aceitar texto gerado pelo usuário que será exibido posteriormente.
Primeiro, você precisa proteger seu banco de dados contra ataques de injeção. Existe uma função PHP simples para isso:mysql_real_escape_string() geralmente será suficiente para proteger seu banco de dados de injeção ao passar essa string para armazenar como um valor de campo.
A partir daí, você deve ter cuidado com sua exibição, pois um usuário que tem permissão para fazer upload de código HTML pode fazer coisas desagradáveis para outros usuários quando esse código é exibido. Se estiver fazendo artigos em texto simples, você pode simplesmente htmlspecialchars() o texto resultante. (você provavelmente também desejará converter novas linhas em tags
.) Se você estiver usando uma solução de formatação, como o mecanismo Markdown usado neste site, essas soluções geralmente fornecerão sanitização HTML como uma função do mecanismo , mas não deixe de ler a documentação e certifique-se.
Ah, verifique se você também está verificando suas variáveis GET/POST usadas para enviar os artigos. Isso não é preciso dizer, e a verificação realizada precisará ser adaptada ao que seu site está fazendo com sua lógica.