C++ 简单的SQL注入过滤

眉间皱痕 提交于 2020-01-18 08:08:36

前几天帮一个客户写了一个C++连接MySQL,当他用到他的游戏中后,被人注射了,用了一个永真式,无限的刷了游戏装备
所以,我针对参数和整体SQL语句写了两个简单的函数,进行简单的过滤。

bool CheckSQL(string sql)
{
    string key[9] = { "%","/","union","|","&","^" ,"#","/*","*/"};
    for (int i = 0; i < 9; i++)
    {
        if (sql.find(key[i]) != string::npos)
        {
            return false;
        }
    }
    return true;
}
bool CheckParameter(string Parameter)
{
    string key[14] = {"and","*","="," ","%0a","%","/","union","|","&","^" ,"#","/*","*/" };
    for (int i = 0; i < 14; i++)
    {
        if (Parameter.find(key[i]) != string::npos)
        {
            return false;
        }
    }
    return true;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!