mysql_escape_string весь массив сообщений?

Мне было интересно, можно ли просто my_sql_escape построить весь массив $ _POST и $ _GET, чтобы вы не пропустили какие-либо переменные?

Не уверен, как проверить это, или я бы сам. Благодаря!

Я бы использовал array_walk() . Это лучше подходит, потому что модифицирует суперкластер POST, поэтому любые будущие применения дезинфицируются.

 array_walk_recursive( $_POST, 'mysql_real_escape_string' ); 

Однако убедитесь, что вы не полагаетесь на эту строку, чтобы полностью защитить свою базу данных от атак. Лучшая защита – это ограничение набора символов для определенных полей. Ex. У электронной почты нет кавычек в них (поэтому допускаются только буквы, цифры, @, тире и т. Д.), А имена не имеют в них круглых скобок (поэтому допускаются только буквы и отдельные специальные символы)

EDIT: Изменено array_walk() до array_walk_recursive() благодаря предложению @ Johan. Подкрепляет его.

 $escaped_POST = array_map('mysql_real_escape_string', $_POST); 

Хотя, я бы рекомендовал вместо этого использовать MySQLi .

вы можете использовать

 foreach(array_keys($_POST) as $key) { $clean[$key] = mysql_real_escape_string($_POST[$key]); } 

и после этого для доступа к данным post используйте echo $clean['name'];

Попробуй это

 foreach(array_keys($_GET) as $key){ $_GET[$key] = mysql_real_escape_string($_GET[$key]);} foreach(array_keys($_POST) as $key){ $_POST[$key] = mysql_real_escape_string($_POST[$key]);} 

В mysql_real_escape_string Всего