///publicstaticstringGetSafeSQL(stringvalue){if(string.IsNullOrEmpty(value))" />

牛腩购物5 aspnetpager控件的巩固(屏蔽恶意字

系统 1660 0

过滤非法字符串(但是查询的时候,假如是英文名字,是很容易有单引号的  例如 Joey’s name,这个时候我们就需要把单引号,换成2个单引号

    
      /// <summary>过滤sql非法字符串
    
    
      /// 
    
    
      /// </summary>
    
    
      /// <param name="value"></param>
    
    
      /// <returns></returns>
    
    
      public
    
    
      static
    
    
      string
    
     GetSafeSQL(
    
      string
    
    
      value
    
    )

        {

            
    
      if
    
     (
    
      string
    
    .IsNullOrEmpty(
    
      value
    
    ))

                
    
      return
    
    
      string
    
    .Empty;

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      ;
    
    ", 
    
      string
    
    .Empty);

            
    
      //value = Regex.Replace(value, @"'", string.Empty);
    
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      '
    
    ", "
    
      ''
    
    ");

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      &
    
    ", 
    
      string
    
    .Empty);

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      %20
    
    ", 
    
      string
    
    .Empty);

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      --
    
    ", 
    
      string
    
    .Empty);

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      ==
    
    ", 
    
      string
    
    .Empty);

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      <
    
    ", 
    
      string
    
    .Empty);

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      >
    
    ", 
    
      string
    
    .Empty);

            
    
      value
    
     = Regex.Replace(
    
      value
    
    , @"
    
      %
    
    ", 
    
      string
    
    .Empty);

            
    
      return
    
    
      value
    
    ;

        }


  
    接下来我们制作 新闻表和前台的新闻制作。
  
    shop_news:id,title,body,visitnum,createdate,type
  
              新闻id,标题,内容,浏览量,创建时间,新闻类型(商品专题或者是新闻中心)
  
    要学会代码的复用,ctrl + c  , Ctrl + v
  
     
  
    
      /*********************************************************

 * 开发人员:Joey  QQ:1727050508   博客: http://1727050508.cnblogs.com

 * 创建时间:2012-3-5 10:39:42

 * 描述说明:news_list.aspx  新闻列表页

 * 

 * 更改历史:

 * 

 * *******************************************************/
    
    
      using
    
     System;


    
      using
    
     System.Collections.Generic;


    
      using
    
     System.Linq;


    
      using
    
     System.Web;


    
      using
    
     System.Web.UI;


    
      using
    
     System.Web.UI.WebControls;




    
      namespace
    
     Niunan.Shop.Web.admin

{

    
    
      public
    
     partial 
    
      class
    
     news_list : System.Web.UI.Page

    {

        Niunan.Shop.DAL.NewsDAO newsdao = 
    
      new
    
     DAL.NewsDAO();

        
    
      protected
    
    
      void
    
     Page_Load(
    
      object
    
     sender, EventArgs e)

        {

            BindRep();

        }



        
    
      protected
    
    
      void
    
     anp_PageChanged(
    
      object
    
     sender, EventArgs e)

        {

            BindRep();

        }

        
    
      protected
    
    
      void
    
     lbtnDel_Click(
    
      object
    
     sender, EventArgs e)

        {

            
    
      string
    
     id = (sender 
    
      as
    
     LinkButton).CommandArgument;

            newsdao.Delete(
    
      int
    
    .Parse(id));

            BindRep();

        }



        
    
      private
    
    
      void
    
     BindRep()

        {

            
    
      int
    
     pagesize = anp.PageSize;

            
    
      int
    
     pageindex = anp.CurrentPageIndex;

            anp.RecordCount = newsdao.ClacCount(GetCond());

            repList.DataSource = newsdao.GetList("
    
      *
    
    ", "
    
      id
    
    ", "
    
      desc
    
    ", pagesize, pageindex, GetCond());



            repList.DataBind();

        }



        
    
      private
    
    
      string
    
     GetCond()

        {

            
    
      string
    
     cond = "
    
      1=1
    
    ";



            
    
      string
    
     type = Request.QueryString["
    
      type
    
    "];

            
    
      if
    
     (!
    
      string
    
    .IsNullOrEmpty(type) && type == "
    
      spzt
    
    ")

            {

                cond += "
    
       and type='商品专题'
    
    ";

                litH1.Text = "
    
      商品专题
    
    ";

            }

            
    
      else
    
    

            {

                cond += "
    
       and type='新闻中心'
    
    ";

                litH1.Text = "
    
      新闻中心
    
    ";

            }





            
    
      string
    
     key = txtKey.Text.Trim();

            key = Niunan.Shop.Utility.Tool.GetSafeSQL(key);

            
    
      if
    
     (key.Length != 0)

            {

                cond+= "
    
       and title like  '%
    
    " + key + "
    
      %' 
    
    ";

            }

            
    
      return
    
     cond;

        }



        
    
      protected
    
    
      void
    
     btnSearch_Click(
    
      object
    
     sender, EventArgs e)

        {

            BindRep();

        }

    }

}


  
     
  
    
      下面是新闻添加和修改页面的代码
    
  
    
      /*********************************************************

 * 开发人员:Joey  QQ:1727050508   博客: http://1727050508.cnblogs.com

 * 创建时间:2012-3-5 15:30:56

 * 描述说明:news_add.aspx  新闻添加和修改页面

 * 

 * 更改历史:

 * 

 * *******************************************************/
    
    
      using
    
     System;


    
      using
    
     System.Collections.Generic;


    
      using
    
     System.Linq;


    
      using
    
     System.Web;


    
      using
    
     System.Web.UI;


    
      using
    
     System.Web.UI.WebControls;




    
      namespace
    
     Niunan.Shop.Web.admin

{

    
    
      public
    
     partial 
    
      class
    
     news_add : System.Web.UI.Page

    {

         Niunan.Shop.DAL.NewsDAO newsdao = 
    
      new
    
     DAL.NewsDAO();



        
    
      //Page_Load 是页面进入的时候执行的函数,不论是第一次进入,还是我们点了按钮回发进入,都会执行的
    
    
      protected
    
    
      void
    
     Page_Load(
    
      object
    
     sender, EventArgs e)

        {

            
    
      if
    
     (!Page.IsPostBack)

            {

                
    
      string
    
     id = Request.QueryString["
    
      id
    
    "];

                
    
      int
    
     x;

                
    
      if
    
     (!
    
      string
    
    .IsNullOrEmpty(id) && 
    
      int
    
    .TryParse(id, 
    
      out
    
     x))

                {

                    Niunan.Shop.Model.News newsmodel = newsdao.GetModel(x);

                    
    
      if
    
     (newsmodel != 
    
      null
    
    )

                    {



                        txtTitle.Text = newsmodel.title;

                        txtBody.Text = newsmodel.body;

                        litH1.Text = "
    
      修改
    
    ";

                        btnAdd.Text = "
    
      修改
    
    ";

                    }

                }

            }



        }



        
    
      protected
    
    
      void
    
     btnAdd_Click(
    
      object
    
     sender, EventArgs e)

        {

            
    
      string
    
     title = txtTitle.Text.Trim();

            
    
      string
    
     body = txtBody.Text.Trim();

            
    
      string
    
     type = Request.QueryString["
    
      type
    
    "];

            
    
      if
    
     (!
    
      string
    
    .IsNullOrEmpty(type) && type == "
    
      spzt
    
    ")

            {

                type = "
    
      商品专题
    
    ";

            }

            
    
      else
    
    

            {

                type = "
    
      新闻中心
    
    ";

            }





            
    
      if
    
     (title.Length == 0 || body.Length == 0)

            {

                litRes.Text = "
    
      <span style='color:blue'>请填写完整的信息</span>
    
    ";

                
    
      return
    
    ;

            }



            
    
      //如果有传入ID,那么就是修改
    
    
      string
    
     id = Request.QueryString["
    
      id
    
    "];

            
    
      int
    
     x;

            
    
      if
    
     (!
    
      string
    
    .IsNullOrEmpty(id) && 
    
      int
    
    .TryParse(id, 
    
      out
    
     x))

            {

                
    
      //这里是重复判断,到底根据这个ID,能不能获得这个实体
    
    

                Niunan.Shop.Model.News newsmodel = newsdao.GetModel(x);

                
    
      if
    
     (newsmodel != 
    
      null
    
    )

                {

                    newsmodel.title = title;

                    newsmodel.body = body;

                    newsdao.Update(newsmodel);

                    litRes.Text = "
    
      <span style='color:red'>修改成功</span>
    
    ";

                    
    
      return
    
    ;

                }

            }





            
    
      //否则是添加
    
    
      int
    
     res = newsdao.Add(
    
      new
    
     Niunan.Shop.Model.News()

            {

                title = title,

                body = body,

                createdate = DateTime.Now,

                type = type,

                visitnum = 0

            });



            
    
      if
    
     (res > 0)

            {

                txtTitle.Text = "
    
    
    ";

                txtBody.Text = "
    
    
    ";

                litRes.Text = "
    
      <span style='color:blue'>添加成功</span>
    
    ";

            }

            
    
      else
    
    

            {

                litRes.Text = "
    
      <span style='color:red'>添加失败,请联系管理员</span>
    
    ";

            }



        }

    }

}


  
     
  

image

牛腩购物5 aspnetpager控件的巩固(屏蔽恶意字符过滤转换 单引号问题,制作新闻页面)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论