防止sql注入
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了防止sql注入,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1694字,纯文字阅读大概需要3分钟。
内容图文
![防止sql注入](/upload/InfoBanner/zyjiaocheng/1328/5bd718de19e8452784ef22dbf8efb386.jpg)
public static class SQLDefenderHelper
{
public static string SQLFilter(string inText)
{
string word = "and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join|--|on|=|‘|+";
if (inText == null)
return inText;
//防止\**\代替空格
if (inText.Contains("\\") || inText.Contains("/"))
{
InitInfo.LogOperation._OperationInfoLog("", "SQLDefenderHelper.SqlFilter", string.Format("语句{0}存在风险,禁止执行!", inText), "");
throw new Exception("SQL语句存在风险,禁止执行!");
}
if (inText.Count(a => a.Equals(‘\‘‘)) % 2 != 0)//单引号为奇数则认为有风险
{
InitInfo.LogOperation._OperationInfoLog("", "SQLDefenderHelper.SqlFilter", string.Format("语句{0}存在风险,禁止执行!", inText), "");
throw new Exception("SQL语句存在风险,禁止执行!");
}
foreach (string i in word.Split(‘|‘))
{
if ((inText.ToLower().IndexOf(i + " ") > -1) || (inText.ToLower().IndexOf(" " + i) > -1) ||//防止空格
(i!= "‘"&&inText.ToLower().IndexOf(i + "(") > -1) || (i != "‘" & inText.ToLower().IndexOf(")" + i) > -1) || //防止括号代替空格
(inText.ToLower().IndexOf(i + "\n") > -1) || (inText.ToLower().IndexOf("\n" + i) > -1) || //防止回车代替空格
(inText.ToLower().IndexOf(i + "\t") > -1) || (inText.ToLower().IndexOf("\t" + i) > -1)) //防止TAB代替空格
{
InitInfo.LogOperation._OperationInfoLog("", "SQLDefenderHelper.SqlFilter", string.Format("语句{0}存在风险,禁止执行!", inText), "");
throw new System.Exception("SQL语句存在风险,禁止执行!");
}
}
Regex regex = new Regex(@"[^0-9a-zA-Z,‘\(\)\*\.\-]+");
if (regex.IsMatch(inText))
{
InitInfo.LogOperation._OperationInfoLog("", "SQLDefenderHelper.SqlFilter", string.Format("语句{0}存在风险,禁止执行!", inText), "");
throw new System.Exception("SQL语句存在风险,禁止执行!");
}
return inText;
}
}
原文:https://www.cnblogs.com/ZX-LMY/p/9435783.html
内容总结
以上是互联网集市为您收集整理的防止sql注入全部内容,希望文章能够帮你解决防止sql注入所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。