C ++以编程方式将字符串编码为字符串文字

时间:2014-08-13 20:25:43

标签: c++ string persistence libpqxx

我试图将从某个用户输入的文本保存到数据库中,我该如何编码这些值?我是C / C ++中的一个n00b,我的谷歌技能有问题..

我正在使用libpqxx并尝试执行类似

的操作
std::string sql = "insert into chat values (nextval('chat_seq'), '" + userInput + "');";
work.exec(sql);

但是当userInput类似于

I'm doing just fine

我的插入会失败。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,查找SQL注入,其上有大量资源。

https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet http://www.veracode.com/security/sql-injection

一个良好的开端是识别导致注入的字符并将其转义或删除/替换字符。

确保userInput是一个字符串,您可以访问所有有用的std字符串位来进行字符串操作,例如substr,replacement等。

请参阅:http://www.cplusplus.com/reference/string/string/