Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Zend Db avoiding sql injections

I have the following code:

public function checkLoginDetails($email, $password) {
    $select = $this->select ();
    $select->where ( "password=?", md5($password) );
    $select->where ( "email=?", $email );
    return $this->fetchRow($select);

}

email and password come directly from the user. Do I need to filter email with, say, mysql_real_escape_string or does Zend DB do it for me?

Thank you!

like image 905
iBiryukov Avatar asked Dec 09 '09 19:12

iBiryukov


1 Answers

I was the main developer on Zend_Db, up to Zend Framework 1.0.

In the example you show, the values are interpolated into the query, with appropriate quotes and escaping applied. You don't have to do anything more.

Internally, it uses the quoting function built into the PHP extension for the Zend_Db_Adapter you're using. E.g. PDO::quote().

like image 140
Bill Karwin Avatar answered Oct 07 '22 08:10

Bill Karwin