Chciałbym się dowiedzieć jakich funkcji wbudowanych w PHP najlepiej używać do filtrowania danych wprowadzonych przez użytkownika, aby uniknąć niespodzianki z nieautoryzowanym dostępem, lub “wstrzyknięciem kodu” ?
A co lepiej stosować strip_tags(), czy może mysql_escape_string() ?
Jedno i drugie a najlepiej korzystać z mysqli i funkcji “prepared statements” wraz z bindowaniem zmiennych. Najkorzystniejszym rozwiązaniem jest jednak użycie PDO lub ActiveRecord.
Widziałem, że w przypadku Wordpressa podczas wyświetlania danych wysłanych za pomocą formularza stosuje się funkcję stripslashes - czy ona wystarczy ? Chodzi mi o to, że mam formularz na stronie, użytkownik wprowadza dane i teraz rozumiem, że stosuję jedną z wymienionych funkcji przed użyciem danych na stronie (np. ich wyświetleniem) ?
Czy jakaś jedna, konkretna funkcja wystarczy, czy może trzeba koniecznie stosować je wszystkie, bądź kilka z nich ?
Ja zasadniczo ograniczam się do bindowania wartości w PDO. W większości używam także htmlentities chyba, że wstawianie tagów jest porządane.