Funkcje PHP do zabezpieczenia przed XSS i SQL Injection

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” ?

http://www.poradnik-webmastera.com/artykuly/bazy_danych/sql_injection.php

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.