Какие риски существуют при использовании извлеченных PHP суперглобальных? - PullRequest
0 голосов
/ 29 мая 2010

Hola usando estas funciones, Que Resgo Corro en Tener проблемы, связанные с seguridad, es necesesario usar extract () о сена альгуна манера основные переменные переменные суперглобальные переменные.


Хорошо, есть некоторый риск при использовании функции extract в суперглобальных переменных как $ _POS и $ _GET, я работаю следующим образом.

Существует риск SQL-инъекции или существует альтернатива извлечению

if(get_magic_quotes_gpc()) {
    $_GET = stripslashes($_GET);
    $_POST =stripslashes($_POST);
}

function vars_globals($value = '') {
    if(is_array($value))
        $r = &$value;
    else
        parse_str($value, $r);

    return  $r;
}

$r = vars_globals($_GET);

extract($r, EXTR_SKIP);

1 Ответ

0 голосов
/ 29 мая 2010

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

При вставке в базу данных используйте механизм экранирования драйвера, чтобы исключить возможность внедрения. Если вы используете функции mysql_ *, вы должны использовать mysql_real_escape_string. Однако для этого гораздо лучше использовать PDO и параметризованные запросы.

...