请问用VS2005的ASP.NET2.0和sqlserver2000做的网站,编程方面应该如何注意才能防止别人挂码和放毒呢??
我的网站最近经常被人放毒,很郁闷!!!

解决方案 »

  1.   


    听一下MSDN Webcast上,专门有讲ASP.NET安全的
      

  2.   

    http://www.microsoft.com/china/technet/security/guidance/secmod83.mspx
      

  3.   

    数据库最好使用存储过程。这样的话防止sql注入,是一个比较好的安全防范措施。文本框使用正则表达式来进行验证也是不错的选择
      

  4.   

    使用SQL过滤和存储过程的方法可以防止SQL注入,
    如以下是SQL过滤的一些方法:/// <summary>
            /// 过滤SQL字符。
            /// </summary>
            /// <param name="str">要过滤SQL字符的字符串。</param>
            /// <returns>已过滤掉SQL字符的字符串。</returns>
            public static string ReplaceSQLChar(string str)
            {
                if (str == String.Empty)
                    return String.Empty;            str = str.Replace("'", "‘");
                str = str.Replace(";", ";");
                str = str.Replace(",", ",");
                str = str.Replace("?", "?");
                str = str.Replace("<", "<");
                str = str.Replace(">", ">");
                str = str.Replace("(", "(");
                str = str.Replace(")", ")");
                str = str.Replace("@", "@");
                str = str.Replace("=", "=");
                str = str.Replace("+", "+");
                str = str.Replace("*", "*");
                str = str.Replace("&", "&");
                str = str.Replace("#", "#");
                str = str.Replace("%", "%");
                str = str.Replace("$", "¥");            return str;
            }是用加密和解密技术,对数据进行加密传输
    或者启用SSL证书
    采用HTTPS://的方式也可以
      

  5.   

    教你一招
    在页面的开头些Response.clesr()
    结尾些Response.End()
    即使他给你挂上js也不会起作用的
      

  6.   

    光屏蔽有什么用。要学会处理。个人不赞同屏蔽的观点。一切都应该以用户为中心。而不是一切为了方便管理。
    我还因为.net自动屏弊了'<>'号而感到很不方便呢。
      

  7.   

    过滤特殊字符不是明知的选择!像编辑器里面的内容也过滤?
    用存储过程还是比较安全!写SQL语句传参数也可以!
    程序安全只是一个方面!
    服务器本身也是个大问题!
      

  8.   

    把GET和POST这2个关把好就差不多了把。
      

  9.   

    存储过程...基本上,存储过程会把你传递给它的任何参数当成字符串处理,就算传递的字符串中有',它也会把它当成参数中的一个字符,而不会将它当成一个结束符。所有获取的表单参数与url参数做好验证,over
      

  10.   

    几乎所有的被人家贴代码进网页里面的漏洞不是网站程序造成的。大部分都是SqlServer 可以能够被外网链接,中毒的电脑或服务器自动扫描到有漏洞的SqlServer 就自己进来了。执行
     Use Master
               exec sp_dropextendedproc 'xp_cmdshell'
               Go让SqlServer 没有办法控制操作系统,专心作数据库。这招我帮作10几条友整好了服务器,骗到了不少顿饭。
      

  11.   


    Sql注入添加了一个数据库管理员,也没有办法运行操作系统cmd.exe 没有运行不了cmd.exe 就执行不了ftp.exe ,也就是说没有办法用它跑去外面下载木马进来。
      

  12.   

    顶18楼一个,没注意sqlserver还有这个存储过程,回去研究一下
      

  13.   

    防Sql注入是必须的。
    但是SSL证书 、HTTPS://这些就要看你做什么网站
      

  14.   

    教你一招 
    在页面的开头些Response.clesr() 
    结尾些Response.End() 
    即使他给你挂上js也不会起作用的 
    ===========================
    这招能详细点么???
      

  15.   

    暂时了解的不多,不过在执行SQL语句时,尽可能的绑定数据而不是纯粹的拼接SQL语句.
    另外,网站放在服务器经常被挂马不一定是网站程序的问题,有可能是服务器中毒.