Какая разница между $_POST и filter_input(INPUT_POST, * ?

Тема в разделе "Как сделать...", создана пользователем Vlad_IM, 15 июл 2014.

  1. Vlad_IM

    Vlad_IM Писатель

    Регистр.:
    13 мар 2013
    Сообщения:
    9
    Симпатии:
    0
    У меня вопрос, ко всем, кто может дать ответ:
    Сделал регистрацию на сайте такого вида
    PHP:
    $_SESSION['login'] = filter_input(INPUT_POST'login');
    и т.д. Все работает. Вопрос заключается в том, на сколько это правильно/неправильно, хорошо/плохо, лучше или хуже, чем
    PHP:
    $login $_POST['login']
    Пожалуйста, кто может, объясните. Какие + или - хотя бы несколько причин, какой из вариантов лучше использовать и почему?
     
    Последнее редактирование модератором: 17 июл 2014
  2. Doctor_Chaos

    Doctor_Chaos Проктолог-гинеколог

    Moderator
    • Супермодератор
    Регистр.:
    7 сен 2013
    Сообщения:
    950
    Симпатии:
    645
    судя по всему, в filter_input() находятся фильтры для переменной во избежание sql-иньекции. Поэтому, так, как есть куда лучше, чем
    $login = $_POST['login']
    По крайней мере - безопасней
     
  3. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    122
    Симпатии:
    122
    в любом случае лучше использовать filter_input или другие методы фильтрации входных данных для
    защиты от XSS и SQL атак.
    еще небольшой + от этой функции - не будет ругани если переменная не была передана и нет проверки isset().
    если интересно, больше можно почитать тут.