Existem ameaças distintas sobre as quais você está (provavelmente) falando aqui:
- Você precisa higienizar dados que estão sendo inseridos no banco de dados para evitar injeções de SQL .
- Você também precisa ter cuidado com os dados que estão sendo exibidos para o usuário, pois eles podem conter scripts maliciosos (se tiverem sido enviados por outros usuários). Veja a entrada da Wikipedia para script entre sites (também conhecido como XSS)
O que é prejudicial ao seu banco de dados não é necessariamente prejudicial aos usuários (e vice-versa). Você tem que cuidar de ambas as ameaças de acordo.
No seu exemplo:
- Use mysqli::real_escape_string () nos dados que estão sendo inseridos em seu db (sanitização)
Você provavelmente deseja usar o purificador antes da inserção de dados - apenas certifique-se de que ele esteja "purificado" no momento em que o usuário o obtiver.
Talvez seja necessário usar stripes () em dados recuperados do banco de dados para exibi-los corretamente para o usuário se
magic_quotes
estão ativados