ASP.NET 还会有SQL注入的烦脑吗??

Henry2010 2005-05-02 10:23:25
如题,刚转到.net 请赐教。
...全文
2410 90 打赏 收藏 转发到动态 举报
写回复
用AI写文章
90 条回复
切换为时间正序
请发表友善的回复…
发表回复
renyu732 2005-05-19
  • 打赏
  • 举报
回复
在做程序的时候能想到注入者之前就好了。
reddeephehe 2005-05-19
  • 打赏
  • 举报
回复
mark
smile8088 2005-05-19
  • 打赏
  • 举报
回复

微软不是刚刚发布了URLScan2.5
绝缘无忌 2005-05-19
  • 打赏
  • 举报
回复
需要搞得这么复杂吗?
写一个过滤的函数不就得了吗??
niunj 2005-05-17
  • 打赏
  • 举报
回复
用ado。net中的sqlparameter的方法 或者存储过程的方式
就可以防止注入的发生
游戏Lan 2005-05-17
  • 打赏
  • 举报
回复
up
mba9001 2005-05-17
  • 打赏
  • 举报
回复
agassi001 2005-05-17
  • 打赏
  • 举报
回复
"SELECT * FROM titles where title_id=@myid"

@myid就是参数!

实例化一个参数,将参数名和参数值赋给该参数,然后再查询字段后add入这个参数即可

如:
System.Data.SqlClient.SqlCommand sqlSelectCmd=new System.Data.SqlClient.SqlCommand();
string strSelect="SELECT * FROM sales WHERE stor_id=@stor_id";
sqlSelectCmd.CommandText=strSelect;
sqlSelectCmd.Connection=sqlConn;

System.Data.SqlClient.SqlParameter par=new System.Data.SqlClient.SqlParameter();
par.ParameterName="@stor_id";
par.Value="7131";
sqlSelectCmd.Parameters.Add( par );
oneway888 2005-05-17
  • 打赏
  • 举报
回复
使用不当,还是会有
aaron_lly 2005-05-17
  • 打赏
  • 举报
回复
很遗憾,,,,有
cnhoky 2005-05-17
  • 打赏
  • 举报
回复
程序员的习惯很重要!
ldljlq 2005-05-16
  • 打赏
  • 举报
回复
关键还是在于写代码的人,不是说哪种语言或平台就没有危险。

当然因为ASP.NET的编程特性,危险系数比ASP要强许多。

目前我写代码比较喜欢用SQL参数和存储过程,在看MS的介绍时看到过,使用参数时SqlCommand有一个预编译的开关属性,打开后可以在运行前编译一次,运行效果跟存储过程是一样的。
hj5182001 2005-05-16
  • 打赏
  • 举报
回复
用储存过程
Eri 2005-05-16
  • 打赏
  • 举报
回复
回复人: hchxxzx(NET?摸到一点门槛) ( ) 信誉:98 2005-5-4 23:05:33 得分: 0



当你输入的不是Int型的数据的时候当然就出现错误了.
----------------------------
出错没有关系,注入SQL主要是考虑数据会被具有不良用心的人进行破坏,而不是仅仅造成程序出现错误.



-----------------------------
上次处理过一个注入,就是靠asp脚本出错,把数据库的信息暴露出来。
这种情况一看IIS日志,就很容易找出来的。
后来都把出错关闭了。
程序上一方面保证,系统管理员也能帮助最快发现异常。
ncowboy 2005-05-16
  • 打赏
  • 举报
回复
ValidateRequest
指示是否应发生请求验证。如果为 true,请求验证将根据具有潜在危险的值的硬编码列表检查所有输入数据。如果出现匹配情况,将引发 HttpRequestValidationException 类。默认值为 true。
该功能在计算机配置文件 (Machine.config) 中启用。可以在应用程序配置文件 (Web.config) 中或在页上将该属性设置为 false 来禁用该功能。

注意 该功能有助于减少对简单页或 ASP.NET 应用程序进行跨站点脚本攻击的风险。如果应用程序不能正确验证用户输入,则可能会受到多种类型的格式错误的输入的攻击,包括跨站点脚本攻击和 SQL Server 指令注入式攻击。应该仔细地评估应用程序中所有形式的输入,并确保对它们进行了正确地验证和编码,或者确保应用程序在处理数据或将信息发送回客户端之前已退出。除此之外,别无它法。有关跨站点脚本的详细信息,请参见 http://www.cert.org/advisories/CA-2000-02.html。
yanganquan 2005-05-15
  • 打赏
  • 举报
回复
如果用存储过程 项目在实施过成中很麻烦 我觉得还是写好SQL语句 对输入的字符串做好过滤工作
wanjun830 2005-05-11
  • 打赏
  • 举报
回复
SQL用参数是什么意思啊?怎么用?

zhaoliang_chen 2005-05-11
  • 打赏
  • 举报
回复
关注
minghui000 2005-05-10
  • 打赏
  • 举报
回复
up
the777 2005-05-10
  • 打赏
  • 举报
回复
用正则过滤
加载更多回复(69)

62,072

社区成员

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

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

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

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