控制图片不让匿名下载的方法

现有N多图片,且文件的命名是有规则,为了防止有人恶意批量下载,需要对图片进行控制,经过N次测试,最后终于搞定。方法如下:
一、建立图片文件映射
-------1、启动IIS,右击要设置的站点
-------2、选“虚拟目录”==》配置==》添加
-------3、在“可执行文件”里输入: C:/WINNT/Microsoft.NET/Framework/v1.1.4322/aspnet_isapi.dll
-------4、扩展名里输入:.gif    ==确定
-------5、如果添加多个,可以重复步骤3,4
二、设置Web.config文件里的身份验证为Forms验证,但是要允许匿名访问
 <authentication mode="Forms" />
<authorization>
        <allow users="*" />
</authorization>

三、在存图片文件的那个文件下面再新那一个Web.Config文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.web>
      <authorization>
         <deny users="?"/>
      </authorization>
   </system.web>
</configuration>


但是这样会有一个问题,就是必须通过验证才可以看到图片,所以这样还是不行,现面就要再写一个Page基本,从System.Web.UI.Page继承,重写 override protected void OnInit(EventArgs e)方法:
   if(!this.User.Identity.IsAuthenticated)
    FormsAuthentication.RedirectFromLoginPage("Guest",false);
四、修改WebForm的基本为该类
这样就相当于设置了一个“匿名”认证用户,图片就可以显示出来了

当然,这是一种笨方法,希望还会更好的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值