簡體   English   中英

Zend_DB / Doctrine是否可以保護我免受SQL注入?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM