2010-10-20 5 views
2

Я использую следующий кодПредотвращение Sql инъекций в ZF

$this->getDb()->fetchRow($sql, $params); 

свободный от SQL инъекций Является ли это? Пожалуйста, направляйте меня. Как я могу освободить его от SQL-инъекции.

ответ

3
  1. использование Zend_Db класса для Экранирование

  2. использовали валидатор из Zend_Form для того, чтобы фильтра входных значений.

3.Uses Подготовило ОТЧЕТНОСТИ внутренне как можно больше, как:

// Build this query: 
// SELECT product_id, product_name, price 
// FROM "products" 
// WHERE (price < 100.00 OR price > 500.00) 
// AND (product_name = 'Apple') 
$minimumPrice = 100; 
$maximumPrice = 500; 
$prod = 'Apple'; 
$select = $db->select() 
    ->from('products', 
    array('product_id', 'product_name', 'price')) 
    ->where("price < $minimumPrice OR price > $maximumPrice") 
    ->where('product_name = ?', $prod); 

далее в этой ссылке:

http://static.zend.com/topics/Webinar-Zend-Secure-Application-Development-with-the-Zend-Framework.pdf

+0

образует Зенд валидаторы и фильтры хороши первыми линия защиты для SQL-инъекции. – Hanseh

+1

Между тем вы не использовали заполнители для переменных цен и не указали, как избежать их в этом конкретном случае. – zerkms