图片防盗链
2012-08-17 21:54
134 查看
在此,网站图片防盗链的方法是,通过获取Http请求头中的 Referer 标头与本网站域名比较,来判断用户是否来自本站跳转过来的 创建一个全局处理程序,用来处理images目录下的图片的直接请求
View Code
using System; using System.Web; /// <summary> ///DaoLian 的摘要说明 /// </summary> public class DaoLian:IHttpHandler { public bool IsReusable { get { return false; } } public void ProcessRequest(HttpContext context) { context.Response.ContentType = "image/jpeg"; // //当前请求 的地址 Uri url = context.Request.Url; Uri urlReferrer = context.Request.UrlReferrer; if (urlReferrer != null) { //判断域名和端口号是否相等 if (IsSameDomain(url,urlReferrer)) { //获取当前请求的图片的绝对路径 string path = context.Request.MapPath(context.Request.RawUrl); context.Response.WriteFile(path); } else { //盗链图片的地址 string path = context.Request.MapPath("../daolian.jpg"); context.Response.WriteFile(path); } } else { //盗链图片的地址 string path = context.Request.MapPath("../daolian.jpg"); context.Response.WriteFile(path); } } //判断域名和端口号是否相等 bool IsSameDomain(Uri url1,Uri url2) { return Uri.Compare(url1, url2, UriComponents.HostAndPort, UriFormat.Unescaped, StringComparison.CurrentCultureIgnoreCase) == 0; } }
在web.config中添加图片文件处理的HttpHander
<system.web> <httpHandlers> <add path="*.jpg,*.jpeg,*.gif,*.png,*.bmp" verb="*" type="DaoLian" /> </httpHandlers> </system.web>
相关文章推荐
- webform的图片防盗链
- 图片防盗链
- 图片、文件防盗链
- 破解防盗链图片的php函数
- php实现博客,论坛图片防盗链的方法
- asp.net HttpHandler实现图片防盗链
- php破解防盗链图片
- 部分网站允许空白referer的防盗链图片的js破解代码
- 图片防盗链
- Nginx模块学习之————accesskey权限模块使用(Nginx防盗链详细解说),防止别人下载文件和图片
- 简单解决微信文章图片防盗链问题
- 使用.htaccess设置图片防盗链的详细方法
- ASP.NET 图片防盗链的实现原理分析
- Nginx图片防盗链、缓存和压缩的示例
- 小记图片防盗链
- 图片防盗链--asp.net 实现
- php图片文件 下载文件 防盗链设置方法
- 图片防盗链 url重写(Nginx重写)
- Nginx 图片防盗链 正确配置 已测试通过
- 防盗链图片在html中正常显示的方法