Чтобы экранировать все переменные за один раз:
$escapedGet = array_map('mysql_real_escape_string', $_GET);
К извлечение всех переменных в текущее пространство имен (т.е. $foo = $_GET['foo']
):
extract($escapedGet);
Пожалуйста, не делайте этот последний шаг, хотя. Там нет необходимости, просто оставить значения в массиве. Извлечение переменных может привести к конфликтам имен и перезаписи существующих переменных, что является не только хлопотами и источником ошибок, но и угрозой безопасности. Также, как говорит @BoltClock, придерживайтесь $_GET
или $_POST
. Кроме того, как указывает @zerkms2, нет смысла в mysql_real_escaping
переменных, которые не должны использоваться в запросе к базе данных, это может даже привести к дальнейшим проблемам.
Обратите внимание, что на самом деле нет это вообще особенно хорошая идея, вы просто перевоплощаете magic_quotes и global_vars, которые были ужасными практиками PHP из прошлых времен. Используйте подготовленные операторы со связанными параметрами через mysqli или PDO и используйте значения через $_GET
или filter_input
. См http://www.phptherightway.com.