我正在開發一個允許用戶在mySQL中輸入VARCHAR(255)字段的應用程序,因此安全性是一個主要問題。Zend - 插入/更新時是否需要使用quote()?
我無法理解quote()。如果我使用quote('test'),那麼數據在SELECT上返回'\'test \'',這是不可取的。我如何取消引用這些數據?
如果我繞過引號(),我可以窺視的phpmyadmin看到「測試」,所以它似乎並不認爲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()嗎?
所以如果我使用Zend_Db_Table,默認情況下是否有足夠的保護? – Erik 2010-10-14 03:05:58
當然。 'http:// framework.zend.com/svn/framework/standard/tags/release-1.10.8/library/Zend/Db/Adapter/Abstract.php'查看'public function insert' – zerkms 2010-10-14 03:25:42