导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

大家来探讨关于数据库安全性保护,如防止外部提交,恶意字符等等

shooper 2004-03-22 10:13:54
大家来说说在ASP.NET中如何来控制一些非法操作导致数据库的破坏
比如应该过滤哪些非法的字符,或哪些恶意的代码
外部提交等等

大家来说说,我对这些不是很了解
...全文
53 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shooper 2004-03-26
谢谢大家
回复
nova2001 2004-03-25
学习!
回复
supermarrio 2004-03-25
虚心学习中。。。
回复
luckweb 2004-03-25
这是以前asp下的防外部提交,改改吧,我没空了
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法链接!" '防止盗链
response.end
end if
回复
billrobin 2004-03-24
什么是外部提交,我对此非常感兴趣。。
回复
阿森纳2013 2004-03-24
你可以在代码中判断权限
回复
shooper 2004-03-24
那又如何防止外部提交呢?
回复
阿森纳2013 2004-03-23
最好就是用存储过程+事务
回复
gasover 2004-03-23
/// <summary>
/// 将用户输入的字符串转换为可换行、替换Html编码、保护数据库的安全方便代码。
/// </summary>
/// <param name="inputString">用户输入字符串</param>
public static string ConvertInputText(string inputString)
{
StringBuilder retVal = new StringBuilder();

// check incoming parameters for null or blank string
if ((inputString != null) && (inputString != String.Empty))
{

//convert some harmful symbols incase the regular
//expression validators are changed
for (int i = 0; i < inputString.Length; i++)
{
switch (inputString[i])
{
case '\'':
retVal.Append("''");
break;
case '"':
retVal.Append(""");
break;
case '<':
retVal.Append("<");
break;
case '>':
retVal.Append(">");
break;
default:
retVal.Append(inputString[i]);
break;
}
}

// 替换换行符为Html换行符
retVal.Replace("\n", "<br/>");
retVal.Replace("\r", "<br/>");
}

return retVal.ToString();
}

/// <summary>
/// 将由InputText格式安全编码的字串还原,可以用在编辑更新文本框里
/// </summary>
/// <param name="outputString">曾由InputText编码的待还原字串</param>
public static string ConvertOutputText(string outputString)
{
StringBuilder retVal = new StringBuilder(outputString);

// check incoming parameters for null or blank string
if ((outputString != null) && (outputString != String.Empty))
{
// 替换Html换行符为文本换行符
retVal.Replace("<br/>", "\n");
retVal.Replace("<br/>", "\r");

retVal.Replace(""", "\"");
retVal.Replace("<", "<");
retVal.Replace(">", ">");
}

return retVal.ToString();
}
回复
folee 2004-03-22
半角的
回复
folee 2004-03-22
最安全的方法
把&,%,<,>,[,],{,},,,.全部replace掉
回复
alliat 2004-03-22
非法字符是黑客攻击的常见手段
最常见的就是利用SQl语句
select * from usertable where user='xxx' and psw='xxx'

将xxx写成 ' or '1'='1
所以单引号是十分危险的符号,另外%,@,#,都是可能被利用的字符
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告