За последние 24 часа нас посетили 60898 программистов и 1746 роботов. Сейчас ищут 1126 программистов ...

Нужно ли экранировать данные при запросе ?

Тема в разделе "PHP для новичков", создана пользователем shpok, 15 май 2013.

  1. shpok

    shpok Активный пользователь

    С нами с:
    20 июн 2012
    Сообщения:
    23
    Симпатии:
    0
    Доброго времени суток всем форумчанам, я начал изучать Zend Framework и возник такой вопрос: нужно ли экранировать данные(переменные ) перед запросом к БД ? Запрос выглядит так
    Код (Text):
    1. ->fetchOne("SELECT `data`  FROM `hor_as`
    2.                                          INNER JOIN `hor_as_types` ON
    3.                                           `hor_as`.`type` = `hor_as_types`.`id`
    4.                                           WHERE `hor_as_types`.`id` = '$type'
    5.                                           AND  `hor_as`.`sign_id` = '$sign' AND
    6.                                           `hor_as`.`actual_period_start` = '$date'");
    Возможны ли здесь sql-инъекции?
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    С Zend Framework не знаком, поэтому могу ошибаться, но судя по вашему запросу, плейсхолдеров не наблюдается, а значит, что-либо в роде PDO не используется. Посему, я бы экранировал.
     
  3. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
  4. shpok

    shpok Активный пользователь

    С нами с:
    20 июн 2012
    Сообщения:
    23
    Симпатии:
    0
    Спасибо всем за ответы!
     
  5. PCSpeaker

    PCSpeaker Активный пользователь

    С нами с:
    26 дек 2007
    Сообщения:
    84
    Симпатии:
    0
    В Zend есть placeholder'ы. По ссылке выше обратите особое внимание на ту часть документации, где переменные подставляются через знак вопроса.
     
  6. shpok

    shpok Активный пользователь

    С нами с:
    20 июн 2012
    Сообщения:
    23
    Симпатии:
    0
    Ок, спасибо за совет!