我只是在學習 mongodb 并且有一個重要的問題。在 mongodb 中是否有類似于 php 的安全性?在 php 中,我可以使用類似的東西:
$stmt = $this->conn->prepare("UPDATE news SET shown = shown 1 WHERE newsID = :newsID");
$stmt->bindValue(":newsID", $id, PDO::PARAM_INT);
$stmt->execute();
但是在 mongodb 中呢?看到將變數直接插入到 mongodb 插入陳述句中很奇怪,例如:
db.products.insertOne( { _id: 10, "item": itemName, "qty": itemQuantity } );
謝謝你的解釋!
uj5u.com熱心網友回復:
除非你會構建類似的東西
db.products.insertOne( JSON.parse('{ _id: 10, "item": itemName, "qty": itemQuantity }') )
SQL 注入會相當困難。我想沒有人會自愿執行這樣的代碼。
當您運行 have 陳述句db.find({"someProperty": userInput})
并且黑客試圖通過時{"$exists": true},它將導致db.find({"someProperty": "{\"$exists\": true}"})不應該回傳任何結果。
但如前所述,使用JSON.parse()或類似的方法可能是一個安全漏洞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/343697.html
標籤:javascript php MongoDB 安全
