- /// <summary>
- /// 检测客户输入的字符串是否有效,并将原始字符串修改为有效字符串或空字符串。
- /// 当检测到客户的输入中有攻击性危险字符串,则返回false,有效返回true。
- /// </summary>
- /// <param name="input">要检测的字符串</param>
- public static bool IsValidInput(ref string input)
- {
- try
- {
- if (IsNullOrEmpty(input))
- {
- //如果是空值,则跳出
- return true;
- }
- else
- {
- //替换单引号
- input = input.Replace("'", "''").Trim();
- //检测攻击性危险字符串
- string testString = "and |or |exec |insert |select |delete |update |count |chr |mid |master |truncate |char |declare ";
- string[] testArray = testString.Split('|');
- foreach (string testStr in testArray)
- {
- if (input.ToLower().IndexOf(testStr) != -1)
- {
- //检测到攻击字符串,清空传入的值
- input = "";
- return false;
- }
- }
- //未检测到攻击字符串
- return true;
- }
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/220920136030.html
来源: http://www.codesnippet.cn/detail/220920136030.html