【发布时间】:2010-10-06 19:59:32
【问题描述】:
我想为 ostream 实现一个自定义操纵器,以便对插入到流中的下一个项目进行一些操作。例如,假设我有一个自定义操纵器quote:
std::ostringstream os;
std::string name("Joe");
os << "SELECT * FROM customers WHERE name = " << quote << name;
操纵器quote会引用name来产生:
SELECT * FROM customers WHERE name = 'Joe'
我该如何实现呢? 谢谢。
【问题讨论】:
-
这已经晚了将近三年,但你知道这很容易受到 SQL 注入的攻击,对吧? :) 我希望这只是一个随意的例子!
-
@Geoff(又过了三年)这完全取决于
quote的实现。它可以很简单地不受 SQL 注入的影响。我不会选择这个特定的接口,但它不是先验不安全的。