![](/img/trans.png)
[英]zend framework zend_db: what does it provide to escape sql parameters
[英]Does Zend_DB / Doctrine protect me from SQL injection?
在Zend_DB或Doctrine中使用准備好的語句是否可以保護我免受SQL注入的侵害?
例:
$stmt = $db->prepare('SELECT * FROM users WHERE name = ? AND password = ?');
$rs = $stmt->execute('peter', 'secret');
還是我必須自己檢查字符串和類型類型?
另一個快捷方式:兩者中哪一個最好? 我只需要數據庫抽象(帶有語句,過程和事務)。
是。
准備好的語句,無論是用Zend_Db,Doctrine還是普通的mysqli完成,都可以通過將查詢結構與數據分開來防止注入。 這意味着,如果您准備了一條根據用戶名和密碼選擇用戶的語句,那么黑客將無法提供將該語句轉換為其他語句的數據。
只要確保查詢本身是一個字符串常量即可。
至於第二個問題,Doctrine和Zend_Db具有不同的方法,可以適應不同的情況和不同的審美偏好。 這里已經有關於該主題的幾個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.