您的位置:首页 > 其它

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

2004-06-29 10:46 218 查看
现有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的基本为该类
这样就相当于设置了一个“匿名”认证用户,图片就可以显示出来了

当然,这是一种笨方法,希望还会更好的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: