虽然这个很多人有讲到了,一搜一大把!现在写主要是以后要用不用在去找了
新建一个类库AvoidImage 继承IHttpHandler,记得引用System.Web
class AvoidImage : IHttpHandler
{
#region IHttpHandler 成员
public bool IsReusable
{
//get { throw new NotImplementedException(); }
get {
return true;
}
}
#endregion
public void ProcessRequest(HttpContext context)
{
Uri urlreferrer = context.Request.UrlReferrer;//访问来源地址
string ip = context.Request.UserHostAddress;//访问来源Ip地址
string serverhost = context.Request.Url.Host;//当前访问主机地址
string localIp = ConfigurationManager.AppSettings["LocalIP"];
if (urlreferrer == null || urlreferrer.Host.ToLower() != serverhost.ToLower() || ip != localIp)
{
context.Response.WriteFile("~/images/index_adr11.gif?http://www.xvna.com");
}
else
{
context.Response.WriteFile(context.Request.PhysicalPath);
}
}
}
default.aspx
<body>
<form id="form1" runat="server">
<div>
<img src="images/Advertise_1.jpg?http://www.xvna.com" />
</div>
</form>
</body>
这样当主机头不对或ip不对就看不到那张图片,显示的是我们的默认图,下载下来也是默认图片