前几天帮一个客户写了一个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;
}
原文链接: https://www.cnblogs.com/lee-li/p/8669302.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/271413
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!