Impedindo a injeção de código sem limitar a entrada do usuário? [fechadas]

Ok, estou ciente dos métodos de limpeza / verificação de entrada, como usar uma lista de permissões, lista negra, mysqli_escape (ou o que quer que seja em PHP), mas digamos que você tenha um site onde, por algum motivo, em vez de fazer o upload de código por usuários ( HTML, Javascript, C, etc.) dentro de um arquivo, eles enviam snippets diretamente. No entanto, como qualquer bom administrador da web, você não deseja permitir SQL ou outros tipos de injeção de código.

Pelo que entendi, o uso de algo como mysql_escape escapará a todos os caracteres especiais, palavras-chave etc., portanto estamos abrangidos. No entanto, e HTML, Javascript, PHP e outro código?

Meu pensamento é que, se o texto, mesmo que seja um código, é armazenado em um banco de dados, isso não significa que apenas será executado. Para HTML, Javascript ou PHP, ele seria executado apenas quando o valor da coluna fosse selecionado e utilizado para gerar uma página da web. Então, seria suficiente fazer html_escape ao exibir a página para impedir a execução do código? Suponho que você poderia html_escape antes de colocar os dados no banco de dados, mas e se os trechos de código fossem recuperados usando algo diferente de um navegador da web? Por exemplo, e se o objetivo principal do site fosse um sistema de versão de código e o código precisasse permanecer intacto?

questionAnswers(4)

yourAnswerToTheQuestion