ZEND_DB_TABLE_ABSTRACT 方法 SQL 注入
是否可以通过sql注入ZEND_DB_TABLE_ABSTRACT
方法?
例如
$this->insert();
编辑以获得更清晰的解释
帖子值为:
'username' = 'admin';
'password' = '1;Drop table users;'
这是控制器中的插入语句:
public function InsertAction() {
$postValues = $this->_request->getPost();
$usersTable = new Application_Models_DbTable_Users();
$username = $postValues['username'];
$password = $postValues['password'];
$data = array('username'=>$username,'password'=>$password);
$users->insert($data);
}
Is it possible for to sql inject a ZEND_DB_TABLE_ABSTRACT
method?
like for example
$this->insert();
edit for a more clearer explanation
Post values are :
'username' = 'admin';
'password' = '1;Drop table users;'
Here is the insert statement in the controller:
public function InsertAction() {
$postValues = $this->_request->getPost();
$usersTable = new Application_Models_DbTable_Users();
$username = $postValues['username'];
$password = $postValues['password'];
$data = array('username'=>$username,'password'=>$password);
$users->insert($data);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,这是可能的,但在
insert()
的通常使用中这是不可能的。除非您使用Zend_Db_Expr
,否则应该是安全的,因为insert()
使用准备好的语句。有关其他信息,请参阅 Bill Karwin 的这篇文章方法和细节。
Yes, it is possible, but in the usual uses of
insert()
it's not probable. Unless you are usingZend_Db_Expr
, you should be safe, becauseinsert()
uses prepared statements.See this post from Bill Karwin for other methods and details.
查看 Zend 的手册 Zend_Db_Table
它会告诉你你可以创建你自己的方法。
Check the manual of Zend Zend_Db_Table
It will show you who you can create your own method.