mysql - 防止ZF中的Sql注入(inject)

标签 mysql security zend-framework sql-injection

我使用以下代码

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

是否没有sql注入(inject)?请指导我。我怎样才能使它免受sql注入(inject)。

最佳答案

  1. 使用 Zend_Db 类,用于转义

  2. 使用 Zend_Form 的验证器过滤输入值。

3.尽可能在内部使用Prepared语句,例如:

// 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

关于mysql - 防止ZF中的Sql注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975481/

相关文章:

简单的二进制(可执行)自检的跨平台方式

php - 从网络目录下载文件

php - 确定 Zend Framework 中的浏览器语言?

zend-framework - .htaccess 不工作

mysql - 当父表中的行被删除时,从子表中删除行

java - Mysql异常

security - 在启用 SSL 的网站上使用 JWT 代替 Cookie

MySQL 根据条件每行更新值行

mysql - 在 Mysql 中使用 join、sum 和 group by

php - 可以查看助手读取请求