<rmcreative>

RSS

Все заметки с тегом «валидация»

Можно уточнить:

    (1)
    (1)
  1. PHP, валидация и массивы

    2 ноября 2009

    Наверное, многие сталкивались с задачей ввода произвольного числа одноимённых полей через форму. В PHP это сделано довольно удобно: в форме к имени поля добавляется [] и на стороне сервера в $_POST, $_GET или $_REQUEST мы получаем уже массив.

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

    http://example.com/list.php?q=test
    http://example.com/list.php?q[]=test

    Довольно безобидный код, в котором нет проверки:

    $q = null;
    if(!empty($_GET['q'])) {
      $q = $_GET['q'];
    }
    // тут начинаем работать с $q как со строкой

    А вот менее безобидный пример: в WordPress до версии 2.8.4 можно было таким вот образом сгенерировать новый пароль администратора без отсылки ему каких-либо писем.

    3 комментария