小编Eri*_*rik的帖子

Zend - 插入/更新时我需要使用quote()吗?

我正在开发一个允许用户输入mySQL中的VARCHAR(255)字段的应用程序,因此安全性是一个主要问题.

我无法理解quote().如果我使用quote('test'),数据在SELECT上返回'\'test \'',这是不可取的.如何取消引用此数据?

如果我绕过quote(),我可以查看phpmyadmin并看到'test',所以Zend似乎并没有自动转发引号...

我的代码看起来像这样:

    public function getDbTable() {
        if (null === $this->_dbTable) {
           $this->setDbTable(new Zend_Db_Table($this->_tableName));
        }
        return $this->_dbTable;
    }

    private function insert($anObject) {
        $row['cell1'] = $anObject->getCell1();
        $row['cell2'] = $anObject->getCell2();

         $this->getDbTable()->insert($row);
    }

在插入和更新时,我应该在$ anObject-> getCell1()等周围使用quote()吗?

mysql security zend-framework sql-injection

3
推荐指数
1
解决办法
4076
查看次数

标签 统计

mysql ×1

security ×1

sql-injection ×1

zend-framework ×1