商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何阻止别人非法链接你网站的图片?

如何阻止别人非法链接你网站的图片?

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

具体来看,这段脚本的核心流程是这样的:

<% Option Explicit

Dim strBuffer, FilePath
strBuffer = Request.ServerVariables("HTTP_REFERER")
strBuffer = mid(strBuffer, InStr(strBuffer,".") + 1)
strBuffer = left(strBuffer, InStr(strBuffer, "/") - 1)

FilePath = "/HIDDENIMAGES/"

If strBuffer = "intels.net" then
    FilePath = FilePath + Request.QueryString("FName")
Else
    FilePath = "/images/chunfeng.jpg"
End If

Response.Redirect(FilePath)
%>

注意几个关键点:

第一,它从`HTTP_REFERER`中提取了域名部分。具体做法是先找到第一个点号,取它后面的字符串,再从左到右截取到第一个斜杠为止,这样就得到了纯域名(比如`intels.net`)。这个方法虽然简单,但有个前提:Referer必须包含完整的URL路径,否则会出错。

第二,如果来源域名是`intels.net`,则允许访问,并重定向到`/HIDDENIMAGES/`目录下的具体文件(通过`FName`参数指定)。如果来源不符合,则统一返回一张默认的`/images/chunfeng.jpg`图片。这其实是一种“软拒绝”策略——让盗链者看到的不是错误页面,而是一张无关紧要的图片,从而降低被发现的概率。

第三,`Option Explicit`强制变量声明,这在老ASP中是好习惯,能避免很多拼写错误。不过,代码中`strBuffer`的使用存在一个潜在漏洞:如果Referer没有点号或者斜杠,`InStr`会返回0,导致`mid`和`left`函数处理空字符串,进而可能触发运行时错误。实际生产环境中,建议增加对空值和格式的校验。

总而言之,这段代码用不到20行就实现了防盗链的核心逻辑,兼顾了可读性和实用性。对于熟悉ASP的开发者来说,它就像一本微型教科书——简洁、直接、不拖泥带水。

本文转载于:https://www.jb51.net/article/4821.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注