Istnieją dwa fronty, które należy wziąć pod uwagę przy akceptowaniu tekstu generowanego przez użytkownika, który zostanie później wyświetlony.
Po pierwsze, musisz chronić swoją bazę danych przed atakami typu Injection. Jest do tego prosta funkcja PHP:mysql_real_escape_string() zwykle wystarczy do ochrony bazy danych przed wstrzyknięciem podczas przekazywania tego ciągu do przechowywania jako wartości pola.
Stamtąd musisz uważać na swój wyświetlacz, ponieważ użytkownik, który może przesyłać kod HTML, może robić paskudne rzeczy innym użytkownikom kiedy ten kod zostanie wyświetlony. Jeśli tworzysz artykuły w postaci zwykłego tekstu, możesz po prostu htmlspecialchars() wynikowy tekst. (prawdopodobnie będziesz też chciał przekonwertować znaki nowej linii na tagi
). Jeśli używasz rozwiązania do formatowania, takiego jak silnik Markdown używany w tej witrynie, rozwiązania te zazwyczaj zapewniają oczyszczanie kodu HTML jako funkcję silnika , ale koniecznie przeczytaj dokumentację i upewnij się, że.
Och, upewnij się, że weryfikujesz również zmienne GET/POST używane do przesyłania artykułów. To oczywiste, a przeprowadzona weryfikacja musi być dostosowana do tego, co robi Twoja witryna z jej logiką.