我试图将从某个用户输入的文本保存到数据库中,我该如何编码这些值?我是C / C ++中的一个n00b,我的谷歌技能有问题..
我正在使用libpqxx并尝试执行类似
的操作std::string sql = "insert into chat values (nextval('chat_seq'), '" + userInput + "');";
work.exec(sql);
但是当userInput类似于
时I'm doing just fine
我的插入会失败。谢谢你的帮助。
答案 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等。