1

我正在尝试将某些用户输入的文本保存到数据库中,我将如何编码这些值?我是 C/C++ 的 n00b,我的 google fu 技能有问题..

我正在使用 libpqxx 并尝试做类似的事情

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

但是当 userInput 类似于

I'm doing just fine

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

4

1 回答 1

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/

于 2014-08-13T20:57:32.943 回答