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

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

大家来说说,我对这些不是很了解
...全文
90 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
所以单引号是十分危险的符号,另外%,@,#,都是可能被利用的字符

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧