公司网站被注入,有的是链接,有的是JS,大家有没有什么好的办法防止注入.
global.asa文件也被篡改掉。在线等...

解决方案 »

  1.   

    一般是通过string类型的request数据注入的
    只有参数化是王道比如sql语句中有 select * from 表 where 字段 = request("xx")
      

  2.   

    把数据库备份下来本地,看看是数据库的数据被注入还是程序的页面被注入了,如果是程序的话把程序覆盖一遍就行了。如果是数据库的话使用sql语句批量替换(网上搜索)。如何防止请参考前人经验
    http://wenku.baidu.com/view/5ea814da6f1aff00bed51ebe.html
      

  3.   

    用户输入的 进行 HTMLEncoding   request 的 字符替换
    使用存储过程 可以避免
      

  4.   

    SQl仿注入
    文本仿注入
    还有文件的操作权限
    等等
      

  5.   

    参数化  SQL
    JS防止注入..
      

  6.   

    不小心点到丢砖了,抱歉啊
    我把你那链接的代码一加进了Conn.asp里面去,看下明天还会不会被注入
      

  7.   

    xss 注入sql注入 
    楼主貌似是xss注入上百度搜索
      

  8.   

    一般写入数据库数据时没有按照传参形式进行的话容易被SQL注入,防止的办法就是,在与数据库相互数据传递时要严格,如:insert into Table1(a,b,c) values(1,2,3) 这样直接写就容易被注入。
    而要写成这样: public static int getBookIdByName(string bookName)
               {
                   string cmdtxt = "select bookId from BS_bookInfo where bookName=@bookName";
                   int bookId = 0;
                   SqlParameter[] cmdparas = new SqlParameter[1];
                   cmdparas[0] = new SqlParameter("@bookName", SqlDbType.VarChar);
                   cmdparas[0].Value = bookName;
                   SqlDataReader sdr = SqlHelper.ExecuteReader(CommandType.Text, cmdtxt, cmdparas);
                   if (sdr.Read())
                   {
                       bookId = Convert.ToInt32(sdr["bookId"]);               }
                   return bookId;
               }
      

  9.   

    不管是页面注入还是数据库注入都是不允许的,首先楼主要赶紧把网上程序给弄份最新的上去,接下来楼主要做两件事了
    第一件:将程序改善,把那些页面传参数的变量首先进行字符过滤,js过滤,写个通用的方法,是什么类型的就是什么类型,字符就必须是字符,整形就必须是数字,然后在做一道程序就是看看被主人的是哪个页面,那些个表,观察观察有那些程序是涉及到这些地方的,将其换成存储过程;
    第二件:将要上传的文件全部设置为只读属性,尤其是上传图片的文件夹啊,还有什么编辑器之类的文件夹;这是必须的,页面设置为只读,就一定程度上防止了页面插码的风险了,在者就是iis了,设置里面执行语言的那个地方,一层一层的安全设施防护,楼主相信要插马也不是件易事;