问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp.net 文件防盗链

发布网友 发布时间:2022-05-16 22:42

我来回答

2个回答

懂视网 时间:2022-05-17 03:04

Step.1:创建文件 CustomHandler.cs,代码如下:
代码如下:
using System;
using System.Web;

namespace CustomHandler{
public class JpgHandler : IHttpHandler{
public void ProcessRequest(HttpContext context){
// 获取文件服务器端物理路径
string FileName = context.Server.MapPath(context.Request.FilePath);
// 如果UrlReferrer为空,则显示一张默认的禁止盗链的图片
if (context.Request.UrlReferrer.Host == null){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg");
}else{
// 如果 UrlReferrer中不包含自己站点主机域名,则显示一张默认的禁止盗链的图片
if (context.Request.UrlReferrer.Host.IndexOf("yourdomain.com") > 0){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile(FileName);
}else{
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg");
}
}
}

public bool IsReusable{
get{ return true; }
}
}
}

Step.2 编译这个文件
代码如下:
csc /t:library /r:System.Web.dll CustomHandler.cs

Step.3 将编译好的 CustomHandler.dll 拷贝到站点的 Bin 目录下。
Step.4 在Web.Config 中注册这个Handler。
代码如下:






OK,诸位可以按步骤自行测试一下,这里就不赘述了。

热心网友 时间:2022-05-17 00:12

http://www.xx.com/download/gindy.pdf,如果服务器没有作特别的*设置,我们就可以毫不费力的把它下载下来!当网站提供51windows.pdf下载时,怎么样才能让下载者无法得到他的实际路径呢!慢慢往下看。  我们在管理网站文件时,可以把扩展名一样的文件放在同一个目录下,起一个比较特别名字,例如放pdf文件目录为the_pdf_file_s,把下面代码另存为down.ASP,他的网上路径为 http://www.xx.com/down.ASP,我们就可以用 http://www.xx.com/down.ASP?FileName=gindy.pdf来下载这个文件了,而且下载者无法看到这个文件实际下载路径的!在down.ASP中我们还可以设置下载文件是否需要登陆,判断下载的来源页是否为外部网站,从而可以做到防止文件被盗链。示例代码:<%From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))if mid(From_url,8,len(Serv_url)) <> Serv_url thenresponse.write "非法链接!" '防止盗链response.endend ifif Request.Cookies("Logined")="" thenresponse.redirect "/login.ASP" '需要登陆!end ifFunction GetFileName(longname)'/folder1/folder2/file.ASP=>file.ASPwhile instr(longname,"/")longname = right(longname,len(longname)-1)wendGetFileName = longnameEnd FunctionDim StreamDim ContentsDim FileNameDim TrueFileNameDim FileExtConst adTypeBinary = 1FileName = Request.QueryString("FileName")if FileName = "" ThenResponse.Write "gindy,无效文件名!"Response.EndEnd ifFileExt = Mid(FileName, InStrRev(FileName, ".") 1)Select Case UCase(FileExt)Case "ASP", "ASA", "ASPX", "ASAX", "MDB"Response.Write "非法操作!"Response.EndEnd SelectResponse.Clearif lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" thenResponse.ContentType = "image/*" '对图像文件不出现下载对话框elseResponse.ContentType = "application/ms-download"end ifResponse.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))Set Stream = server.CreateObject("ADODB.Stream")Stream.Type = adTypeBinaryStream.Openif lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录TrueFileName = "/the_pdf_file_s/"&FileNameend if if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录TrueFileName = "/my_D_O_C_file/"&FileNameend ifif lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" thenTrueFileName = "/all_images_/"&FileName '设置图像文件目录end ifStream.LoadFromFile Server.MapPath(TrueFileName)While Not Stream.EOSResponse.BinaryWrite Stream.Read(1024 * 64)WendStream.CloseSet Stream = NothingResponse.FlushResponse.End%>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
注册保险代理有限公司需要什么资料! 现在什么云手机性价比高一点? 50个可接双宾语的动词 为琵琶独奏曲《春江花月夜》配一首词或诗 我经常看到HI语音里会有什么魅力榜、贡献榜这些排名,我也一直在语音直播... 跨行通怎么激活 父母是农民不知道有没有纳税 普通农民可以算纳税人吗? 农民不交农业税了,是不是纳税人? 小红书上女生缺衣服穿的心情说说四十句 求小说,不要言情,玄幻、穿越、修真、末世、魔武、网游、无限都可以,重点要最新的还有就是全本或150W字 跪求完本玄幻小说 那些出名的就别说了全看了 不要修真的 有一本玄幻小说名字好像叫什么天狱 超过800万的完本玄幻小说 找几本冷门的男频小说 女主不要太多 我就搞不明白了 玄幻异界修仙tmd怎么全是废 圣狱,圣狱小说txt全集免费下载 谁有人教B版高中数学必修二的教材答案啊,急!!!对答案开学考试!!!求!! 金太阳高一数学必修二圆的方程试卷答案 高中数学必修二P78页答案 高一必修二数学。四道题。写出答案即可。谢谢啦 高一 数学 必修二高中数学 请详细解答,谢谢! (8 11:52:44) 数学必修二第86页第四题的答案 画出经过点(0,2),且斜率分别为2,-2的直线 高一 数学 必修二高中数学 请详细解答,谢谢! (8 16:21:16) 高中数学必修二p67第二题过程及答案 含是什么结构 数学必修二(人教A版)课本内的习题答案上哪去找啊? 含是由什么和什么组成的? 求推荐一款好用又温和的氨基酸洁面乳,这里18岁,两颊敏感肌有红血丝,T区很油,不喜欢用丝塔芙,感觉 本人敏感肌、最近想入手一枚洗面奶,想知道ahc洗面奶和sum:37天然海洋洗面奶ph值。又在二者 呼吸套盒里面的洗面奶是哪款 飞利浦dvp5980k怎样变换输出方式 我台DVD机一块电源板上的插座中有标识:-p24v;+p12v;-p12v;+5vp;+5vd都表示什么意思?谢谢大家! 飞利浦dvp5986k/93和飞利浦dvp5996k/93有什么不同? 飞利浦DVP5996K/93可以完美播放7.1声道SACD音频解码吗 DVD 播放机 选购 飞利浦 DVD播放机中的DTS输出有多大作用? 家庭影院是否一定要功放呢? 想买DVD机,价格在550-700之间,最好带HDMI接口的,主要用于看碟,推荐几款吧 一个带DTS解码功能的DVD不通过功放直接连接音响为什么选择DTS音响不发声呢? 为什么飞利浦DVP5996K不能播放刻录碟(电脑上下载的影片RMVB.MVA等格式) 请推荐一款DVD播放机,带高清播放,USB接口,游戏接口,5.1音频输出,价格在200元左右。 对联的创作与欣赏 &lt;转&gt; 高中语文研究性学习对联的欣赏与写作 关于对联的鉴赏作文 对联的常识,写法与欣赏 羰基化合物标准溶液怎么配制 通常如何鉴别羰基? 羰基化合物提纯的优点? 金属羰基化合物的简介 2、维生素C有几种形态,2,4-二硝基苯肼比色法测定是哪种形态?