diff options
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/string.cpp | 15 | ||||
| -rw-r--r-- | src/utils/string.hpp | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/utils/string.cpp b/src/utils/string.cpp index 9727f3f..b8ba269 100644 --- a/src/utils/string.cpp +++ b/src/utils/string.cpp @@ -1,5 +1,6 @@ #include "string.hpp" +#include <algorithm> #include <iostream> #include <sstream> #include <string> @@ -48,6 +49,20 @@ namespace bot { return str; } + + bool string_contains_sql_injection(const std::string &input) { + std::string forbidden_strings[] = {";", "--", "'", "\"", + "/*", "*/", "xp_", "exec", + "sp_", "insert", "select", "delete"}; + + for (const auto &str : forbidden_strings) { + if (input.find(str) != std::string::npos) { + return true; + } + } + + return false; + } } } } diff --git a/src/utils/string.hpp b/src/utils/string.hpp index 5c9a088..c8385ad 100644 --- a/src/utils/string.hpp +++ b/src/utils/string.hpp @@ -25,6 +25,8 @@ namespace bot { } return ss.str(); } + + bool string_contains_sql_injection(const std::string &input); } } } |
