gpt4 book ai didi

mysql - 推进/Symfony 1.4 : combine securely custom sql subquery with criteria

转载 作者:行者123 更新时间:2023-11-29 23:00:05 26 4
gpt4 key购买 nike

我想将自定义 sql 子查询插入到常见的 Propel 标准中。子查询包含用户输入,因此必须对这些输入进行转义。我怎样才能实现这一点?

我有这样的东西(简化):

$c = new Criteria();
$c->add(myTablePeer::CUSTOMER_ID, 123);
$c->add... //several other criterions, joins etc.
$subQuery = "(SELECT SUM(id) FROM my_other_table WHERE customer_id = 123) > '[USERINPUT]'";
$c->add("", $subQuery, Criteria::CUSTOM);

所以,当然,这个子查询很容易受到 SQL 注入(inject)的攻击。如何以最佳方式保护此查询?我不能使用 mysqli_real_escape_string(),可以吗?那么只需addslashes() 就可以了?

最佳答案

哈利路亚,我想我找到了解决方案:

Propel::getConnection()->quote($userInput)

这很神奇。一步引用、转义!所以子查询将是:

$subQuery = "(SELECT SUM(id) FROM my_other_table WHERE customer_id = 123) > ".Propel::getConnection()->quote($userInput);

有人可以验证这是保护输入安全的最佳方法吗?

关于mysql - 推进/Symfony 1.4 : combine securely custom sql subquery with criteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com