htmlentities() nie jest konieczne, aby zapewnić bezpieczeństwo danych dla SQL. Jest używany podczas echa wartości danych na wyjściu HTML, aby uniknąć luk XSS. Jest to również ważny problem bezpieczeństwa, o którym musisz pamiętać, ale nie jest on związany z SQL.
addslashes() jest zbędne z mysql_real_escape_string. Skończysz z dosłownymi odwrotnymi ukośnikami w swoich ciągach w bazie danych.
Nie używaj magicznych cudzysłowów. Ta funkcja jest przestarzała od wielu lat. Nie wdrażaj kodu PHP w środowisku, w którym włączone są magiczne cudzysłowy. Jeśli jest włączony, wyłącz go. Jeśli jest to hostowane środowisko i nie wyłączą magicznych cytatów, zdobądź nowego dostawcę usług hostingowych.
Nie używaj ext/mysql
. Nie obsługuje parametrów zapytania, transakcji ani użycia OO.
Aktualizacja:ext/mysql
został przestarzały w PHP 5.5.0 (2013-06-20) i usunięty w PHP 7.0.0 (2015-12-03). Naprawdę nie możesz tego użyć.
Użyj PDO i zwiększ bezpieczeństwo swoich zapytań, używając zapytań przygotowanych .
Aby uzyskać więcej informacji na temat pisania bezpiecznego SQL, przeczytaj moją prezentację Mity dotyczące wstrzykiwania SQL i Mity .