Чистая и безопасная строка в PHP

Возможные дубликаты:
PHP: полная чистая / безопасная функция
Каков наилучший метод для дезинфекции пользовательского ввода с помощью PHP?

Что я должен добавить к своей функции, чтобы убедиться, что каждая строка, которая ее передает, будет «дружественной к серверу»? Я использую эту небольшую функцию для проверки входов, содержащих имена, адреса электронной почты и идентификаторы.

function checkInput($str) { $str = @strip_tags($str); $str = @stripslashes($str); $str = mysql_real_escape_string($str); return $str; } 

Я бы удалил некоторые специальные символы, которые не имеют ничего общего с такими строками и могут использоваться для инъекций кода, например $% # <> | и так далее.

 $invalid_characters = array("$", "%", "#", "<", ">", "|"); $str = str_replace($invalid_characters, "", $str); 

Что означает сервер?

Для проверки, например, адресов электронной почты, обратите внимание на фильтрацию данных .

Чтобы убедиться, что строка безопасна для использования базы данных, например, mysql_real_escape_string

При htmlspecialchars данных используйте htmlspecialchars

О базе данных, проверьте заполнители PDO . Это перекрестная СУБД.

Что я должен добавить к своей функции, чтобы убедиться, что каждая строка, которая ее передает, будет «дружественной к серверу»?

Это должно работать:

 function checkInput($str) { return ""; } 

Более подробное объяснение см. Здесь.