如果我可以保证输入(下面示例中为$value
)是字符串(即攻击者无法使用PHP魔术数组注入),是否有足够的代码来防止注入?
$regex = str_replace('%', '', $value);
if (substr($value, 0, 1) != '%') $regex = '^' . $regex;
if (substr($value, -1) != '%') $regex = $regex . '$';
$value = new MongoRegex("/$regex/i");
一般来说,对于MongoDB安全性,MongoRegex("/$user-input/i")
是否正常?或者我们应该像在SQL世界中那样采取更多的预防措施吗?