将网站放到托管的服务器上 如何保证数据库的安全啊

解决方案 »

  1.   

    检查你的代码中sql语句是不是全部用的参数来避免sql注入.如果有不是用参数,建议用统一的方法去替换value里的sql关键字,比如单引号 -- /* exec ...
      

  2.   

    别人已经配置好服务器和数据库安全,你不用担心你要做的就是,参数化你的SQL 过滤单引号
      

  3.   

    通过存储过程操作,通过程序防止SQL注入等
      

  4.   

    把sql server数据库放到自己电脑上,网站放到托管那,然后远程访问数据库,是不是会好些呢?
    但是在Web.config中就能看到连接的地址和密码啊。
    请高人提些意见吧,
    保证数据库的安全
      

  5.   

    但是在Web.config中就能看到连接的地址和密码啊。 
      

  6.   

    如果网站是放在别人的服务器上,怎么有没有什么加密的办法啊,找了很多好像都是要在服务器上注册,有的是以编码的方式,但没看懂,怎么用,五、以编程方式加密配置部分  System.Configuration.SectionInformation类对一个配置节的描述进行了抽象。为了加密一个配置节,只需要简单地使用SectionInformation类的ProtectSection(提供程序)方法,传递你想使用的提供程序的名字来执行加密。为了存取你的应用程序的Web.config文件中的一个特定的配置节,你可以使用WebConfigurationManager类(在System.Web.Configuration命名空间中)来引用你的Web.config文件,然后使用它的GetSection(sectionName)方法返回一个ConfigurationSection实例。最后,你可以经由ConfigurationSection实例的SectionInformation属性得到一个SectionInformation对象。  下面,我们通过一个简单的代码示例来说明问题:privatevoid ProtectSection(string sectionName, string provider)
    {
     Configuration config = WebConfigurationManager.
     OpenWebConfiguration(Request.ApplicationPath);
     ConfigurationSection section = config.GetSection(sectionName);
     if (section != null &&!section.SectionInformation.IsProtected)
     {
      section.SectionInformation.ProtectSection(provider);
      config.Save();
     }
    }
    private void UnProtectSection(string sectionName) {
     Configuration config =WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
     ConfigurationSection section = config.GetSectio n(sectionName);
     if (section != null && section.SectionInformation.IsProtected)
     {
      section.SectionInformation.UnprotectSection();
      config.Save();
     }   你可以从一个ASP.NET页面中调用这个ProtectSection(sectionName,provider)方法,其相应的参数是一个节名(如connectionStrings)和一个提供程序(如DataProtectionConfigurationProvider),并且它打开Web.config文件,引用该节,调用SectionInformation对象的ProtectSection(provider)方法,最后保存配置变化。  另一方面,UnProtectSection(provider)方法实现解密一个特定的配置节。在此,仅需要传入要解密的节-我们不需要麻烦提供程序,因为该信息已经存储在伴随encrypted节的标记中(也即是,在上面的示例中的<connectionStrings>节,在被加密以后,它包含了提供程序:<connectionStringsconfigProtectionProvider="DataProtectionConfigurationProvider">)。  记住,一旦该数据被加密,当从一个ASP.NET页面读取它时(也即是,从一个SqlDataSource控件或以编程方式经由ConfigurationManager.ConnectionStrings[connStringName].ConnectionString读取该连接字符串信息),ASP.NET会自动地解密该连接字符串并且返回普通文本值。换句话说,在实现加密后,你一点不需要改变你的代码。相当酷,对不对?