保护你的配置文件及映射文件信息

时间:2007/7/14 12:42:10      阅读:3012          
      通常情况下我们在使用IBatisNet的时候,配置文件和映射文件都是暴露在外的,如果能进入到服务器,那么你的程序的操作数据库的SQL语句,数据库连接字符串等信息都将很轻松的被看到,这样是很危险的。然而IBatisnet自身也没有提供配置文件直接加密的方法,但我们可以用变通的方式来尽可能的保护这些文件中的信息。IBatisnet的映射文件等可以指定为内嵌的资源,利用这个我们可以把一些敏感信息写到另外一个配置文件中,并设置这个配置文件的Build Action为embedded Resource。具体操作如下:
一、假设我们映射文件的路径为 ~@Maps/,我们将所有的映射文件都设置为“内嵌的资源”,SqlMap.config文件直接在根目录下。
二、建立一个properties.config文件,添加一些敏感信息(即不能直接让别人看到的信息)。如下:
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<!-- User application and configured property settings go here.-->
<!-- Example: <add key="settingName" value="settingValue"/> -->
<add key="provider" value="sqlServer1.1" />
<add
key="connectionString"
value
="server=.;database=DocumentSystem;uid=sa;pwd=" />
<add key="root" value="TVSystem.Web._Maps." />
<add key="assembly" value="TVSystem.Web" />
</settings>

三、SqlMap.config文件的配置
<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig
xmlns="http://ibatis.apache.org/dataMapper"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance">

<properties embedded="TVSystem.Web.properties.config" />
<settings>
<setting useStatementNamespaces="false"/>
</settings>

<providers resource="providers.config"/>

<!-- Database connection information -->
<database>
<provider name="${provider}"/>
<dataSource name="DocumentSystem" connectionString="${connectionString}"/>
</database>

<sqlMaps>
<sqlMap embedded="${root}Department.xml,${assembly}" />
<sqlMap embedded="${root}Stream.xml,${assembly}" />
<sqlMap embedded="${root}Employees.xml,${assembly}" />
<sqlMap embedded="${root}Relations.xml,${assembly}" />
</sqlMaps>

</sqlMapConfig>

这样发布后的代码中,只能看到SqlMap.config中的内容,映射文件和数据库连接字符串等信息就被编译到DLL中去了。
评论
  • Re:保护你的配置文件及映射文件信息  (2007/8/26 12:43:10) by wadao 
    这种方法好是好,不过IBatisNet的优势之一是通过映射文件灵活地实现业务对象映射,而不用重新编译。
    这样不是不能利用这一长处?
  • Re:保护你的配置文件及映射文件信息  (2007/9/16 21:55:05) by kiler 
    把连接字符串加密成嵌入式文件,这个想法不错。
  • Re:保护你的配置文件及映射文件信息  (2007/10/16 12:24:36) by qazxsw 
    不错!
  • Re:保护你的配置文件及映射文件信息  (2007/10/24 10:32:22) by guo 
    谢谢分享。
  • Re:保护你的配置文件及映射文件信息  (2007/11/1 12:22:06) by sliuqin 
    谢谢分享。
  • Re:保护你的配置文件及映射文件信息  (2008/1/23 15:57:00) by 徐红明 
    怎么说呢提供给了初学者很多思路支持
  • Re:保护你的配置文件及映射文件信息  (2008/4/7 10:59:43) by ray 
    如果能进到这服务器,这个方法也不一定有用,找到你的assmbly直接反编译还不是一样
    说到底还是不能让人进服务器啊,进了服务器除了HASH什么也白搭
标 题:
 
姓 名:
 
主 页:

验证码:

评论:
 

Because of the cache,you may see your comments several minutes later.