没什么可说的
安全问题一般指的是整个系统的安全问题,没有所谓ASP.NET的安全问题,

解决方案 »

  1.   

    一般最多的是sql注入攻击和跨站脚本攻击
    sql注入攻击是大多数程序员需要考虑的,不过已经有了很多防范的方法,所以也没有什么必要说了,至于后者,现在确实是安全性方面容易忽略的一个地方,而且也没有什么特别好的办法,
    看看楼下的都是采用什么办法...
      

  2.   

    sql注入漏洞挺多的,但我们公司是asp的网站,.net的还没经历过
      

  3.   

    防sql注入可以用sqlparameter来获取参数;在客户端可以对特殊字符进行检查,如;等
      

  4.   

    我觉得安全方面主要来自iis的,因为在.net的架构之下,基本上没有什么安全隐患可言,而iis一直都是滋生隐患的温床,大家应该有这方面的体验吧.
      

  5.   

    这些问题是从设计阶段就开始防范的,不是等你做好了整个东西再来修补的,做好了就很难补全。防注入就用ADO.NET,并且使用Parameters来传入变量,减少拼接SQL的机会。如果一定要拼接SQL,就自己写一个class或者struct来专项负责拼接工作,该struct在拼接时每一步操作的颗粒都尽可能小,小到能够确保每一步都不可能引入注入漏洞。至于Cross Site Script Attack,这个复杂一些,首先管好你自己站点的Script,不要存在漏洞,涉及安全性的东西不要给Script做一律安排在服务器端做。如果你的网站允许别人发表东西,就应该确保用户无法发表任何Script。最后,IIS和MSSQL这些都是漏洞多多的东西,除了及时打上所有补丁之外也没什么能干的了。
      

  6.   

    To viena(维也纳nn):
    可能我问的不是很准确,不过我想这样说大家看的懂.其实就是关于asp.net网站的安全问题了.To xiangxiangwo(懒羊羊):
    能不能谈谈你关于IIS的经验呢?
    我前面说到的那两种应该是没什么问题的,基本上大家查一下也就知道该怎么做了.我的问题是还有没有别的?不论是代码方面还是配置或者部署方面,难道我们除了打补丁没什么可做的了?有没有知道其它的一些攻击方法呢?
      

  7.   

    .NET体系中的源程序安全问题:在.NET平台上,代码以中间语言的形式运行,它是.NET众多优势的基础。但在独立桌面应用中,它给源代码的安全带来了威胁。本文探讨产生这个问题的原因,分析可能的解决办法。 在Visual Studio.NET(VS.NET)体系中,VB、Visual C 以及C#之类的编译器把源程序编译成MSIL。MSIL即Microsoft Intermediate Language,或Microsoft中间语言,它在执行之前被即时(Just-In-Time Compile,JIT)编译成为机器语言。但是,你可能还没有深入了解当你在VS中点击Build按钮时发生了什么事情,或者你私有的源代码和信息是否在偷窥的眼光面前安然无恙、当你把IL代码发布给客户时是否能够保证代码不被篡改。下面我们将深入.NET的内部工作过程,探讨VB.NET体系MSIL的特点和一些你必须关心的问题。 你必须搞清楚以下几个问题。首先,.NET是为客户机/服务器系统以及Web应用而设计的。软件开发正在逐渐向Internet以及基于客户机/服务器的应用发展,许多应用不再有传统风格的界面,而是提供类似浏览器的界面。.NET也同样追随着这个趋势。 第二,在桌面应用中,我们无法保护以受管理的MSIL形式存在的代码,如果你觉得保护知识产权(即源代码)非常重要,那么.NET不适合桌面应用开发。虽然MSIL的承诺令人心动,虽然.NET平台和CLR(Common Language Runtime)很稳定,但从安全的角度来看,对于一个独立的桌面应用来说,这一切缺乏实际意义。在.NET中,作为一个VB程序员甚至是C#程序员,你只能编写受管理、不受保护的代码。 由于存在这种限制,如果你要在桌面应用中保护代码,你必须使用非受管理的C 。保护知识产权唯一真正有效的方法是:用非受管理的C 组件封装代码,然后从.NET受管理代码中通过COM协作接口调用它。 另外你还必须清楚的是,由于Active Server Pages.NET(ASP.NET)完全在服务器端运行,因此ASP.NET应用是安全的。实际上,这正是.NET最理想的境界——在受保护的服务器上运行代码,让代码远离任何想要研究它的人。ASP.NET把Web开发简化到了难以置信的程度,而Visual Basic.NET正是编写ASP.NET应用的优秀工具。  
     
     
      

  8.   

    可以考慮用ssl。不過我還沒用,聽說安全性還是比較高的。
    客戶端的驗證可以用,但是最好在服務器端再次驗證一次,確保安全。
      

  9.   

    http://community.csdn.net/Expert/topic/5101/5101976.xml?temp=.6321222
    看看这个
      

  10.   

    只晓得要用POST,不要用GET方法传用户的信息,嘿嘿.
      

  11.   

    我所知道的就只有这些
    1.我所知道的就是ie地址栏要过滤防止"%",目前用的是:try....catch。2.还有就是输入时把“<",">","'"过滤掉。3.所有发生的错误重定向到指定页面。4.注册上就用session来做,保存20分钟。cookies可以在客户端改的。其它的就不知道了
      

  12.   

    不要把最起码的要求当作大的系统才要求的。SSL会让性能降低40%或者更多,包括msn等都没有采用加密通讯方式(用户必须自己设置),这才是“大的系统才要求的”。对于防注入、在数据库中不要保存用户的密码、防火墙限制除web服务以外所有端口等等,这些事必须的,是简单有效的小技巧。
      

  13.   

    之前用ASP做的东西曾经被别人用iframe包含过木马,到现在都不知道是我程序问题还是它系统问题,我认为可能是后者,但服务器那边硬说是我的程序 问题,不知道NET是否有这样的问题?!
      

  14.   

    就知道一些SQL侵入的东西,其他就不会了,学习中。
      

  15.   

    angleoldhen() 说的好你的程序使用频率多高,如果是某个公司的内部小站,办公,发布信息等,确实不用那么紧张
    功能多了,用的人多了,才会有人注意某些细节,例如动网.
      

  16.   

    说说自己关于安全的认识
    1.最危险的就是用户的输入,就会出现注入式的攻击。当然需要严格控制。
    2.就是需要保证数据在传输过程中安全,这就需要使用SSL来保证,当然性能会有下降,有必要的话还是要使用的。
    3.服务器的安全,可能就是不能烧到,不能被水淋到,不能被怪物吃掉,呵呵,还要注意用户的角色权限。
      

  17.   

    To sp1234(3+1=无穷大):
    安全问题肯定是最基本的问题,可是现在规模不大的系统确实没什么人关心这些,就我的观察,现在的程序员大部分开发的时候根本就没有这方面的意识.不管我们的水平不到家,还是成本考虑,这些都是事实.大的系统去实施一些安全措施更常见吧.
    而且我现在关心的是ASP.NET本身,难道在考虑架构或写代码时除了我上面提到的两点,就没什么别的可做了?
    另外你能不能谈一下密码保存的问题,不放在数据库里那放在哪呢.我觉得加密放在数据库还可以.这个会有什么问题吗To zl9732(zl9732):
    原因现在还没查明?
    To angleoldhen():
    我觉得注入不应该占这么大的比重.我看过一些论坛,讨论注入的并不多.感觉上除了注入和跨站外还应该会有很多和代码有关的安全问题.
    To lys1978900(天下無雙):
    现在的人找漏洞不会是去用你的东西,然后突然发现了什么.除非别人是盯上你了.一般都是用工具去扫描一个网段.而且我这里说的,是通过ASP.NET来进入的.
    To dutguoyi(新鲜鱼排):
    能不能介绍下SSL对性能的影响到底到了什么程度.
      

  18.   

    我公司使用linux網關﹐把上網端口重定向到局域內web服務器端口﹐避免了一些操作系統漏洞﹔
      

  19.   

    ASP.NET除了IIS外,还有其它什么服务器吗?
      

  20.   

    主要还是sql注入攻击和跨站脚本攻击这些程序自身的漏洞,这些自己在开发的时候尽量杜绝即可。而IIS等,只要补丁打齐,一般不会有什么问题,况且真是有本身从系统级漏洞入侵的人才,又怎么会无聊到来攻击这些普通网站呢?