码迷,mamicode.com
首页 > 其他好文 > 详细

禁止用户通过浏览器地址访问服务器上的XML文件

时间:2015-09-27 11:08:40      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:

  最近在做一个项目的时候,因为很多是调用接口,所以基本不需要数据库,为了零时保存少量验证数据,就选择了使用XML来存放。把项目上传到服务器上后,发现在用户端可以动过在浏览器上输入服务器端对应的XML路径来对XML进行访问,因为XML中存放有能唯一识别用户的信息,所以并不希望用户能查看到此文件,于是在网上搜索了几种解决方案。

  方案一:对XML中的数据进行加密。这种方法确实很简单,但是并没有达到我想要的禁止用户访问此文件的目的。

  方案二:修改XML文件拓展名,例如将.xml改为.do。这种方法也能有效的禁止用户访问,但是我项目中对XML的引用处过多,修改起来较为麻烦,所以也不得不再寻找下一种解决方法。  

  方案三:首先在iis中添加xml映射,映射的程序为C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll

      然后再web.config中加入以下代码

      <httpHandlers>
      <add verb="*" path="*.xml" type="System.Web.HttpNotFoundHandler" />
      </httpHandlers>

      这样在用户访问XML时,服务器会返回一个404(文件未找到)的页面

      这种方法貌似能很完美的解决我想要结局的问题,可是!我的\Microsoft.NET\Framework\v1.1.4322文件夹下是空的,但是发现了一个v4.0.30319这个文件夹,想着我的是.net Framework4.5的,于是就引用了,可是发现在web.config中加入代码后,页面提示httpHandlers这个可能出错了,奈何怎么改都无果,只能觉得是文件添加错了。于是好好研究了一下IIS,发现了最终的解决方法。

  方案四:在IIS中,有一项请求筛选,打开看了一下,有一项是文件拓展名,可以在里面添加指定的拓展名,从而禁止访问此类文件。

  想来想去还是最终的解决方法(方案四)比较简单,但是想了一下以数据安全性的角度考虑,还是应当将重要数据将数据加密后存入数据库或其它数据存储文件中。

      



禁止用户通过浏览器地址访问服务器上的XML文件

标签:

原文地址:http://www.cnblogs.com/joker-wz/p/4841942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!