首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
Apache如何配置防盗链

Apache如何配置防盗链

热心网友
59
转载
2026-05-02

在Apache服务器上配置防盗链,可以通过以下几种方法实现

Apache如何配置防盗链

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

网站资源被随意盗用,不仅消耗服务器带宽,还可能带来安全风险。好在Apache服务器提供了几种成熟的防盗链方案,可以根据实际需求灵活选择。下面就来详细拆解这几种主流方法。

方法一:使用mod_rewrite模块

这是最经典、最常用的防盗链手段,核心思路是通过检查请求的来源(Referer)来判断是否放行。

  1. 启用mod_rewrite模块:首先,得确保服务器上的这个“引擎”已经启动。通常,执行下面两条命令就能搞定:

    sudo a2enmod rewrite
    sudo systemctl restart apache2
  2. 配置防盗链规则:规则一般写在网站根目录的.htaccess文件里。添加的内容大致如下:

    RewriteEngine On
    # 允许的域名列表
    RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
    RewriteCond %{HTTP_REFERER} !^https://(www\.)?anotherdomain\.com [NC]
    # 阻止访问
    RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]

    这几行代码是什么意思呢?简单来说:

    • RewriteEngine On:这是开关,表示启动重写功能。
    • 那两行以RewriteCond开头的:它们像两个“门卫”,检查来访者的“介绍信”(HTTP_REFERER)。只有来自example.comanotherdomain.com的请求才会被放行,[NC]表示忽略大小写。
    • RewriteRule这一行:是最终的“裁决”。如果请求的图片(如.jpg, .png等)不符合前面的白名单条件,就直接返回403禁止访问的状态码,[F,L]中的L表示这是最后一条规则。

方法二:使用mod_security模块

如果你需要一个功能更强大的Web应用防火墙(WAF),那么mod_security是个不错的选择。它不仅能防盗链,还能防御更多复杂攻击。

  1. 安装mod_security模块:如果系统里还没有,可以通过包管理器安装。例如在Debian/Ubuntu上:

    sudo apt-get install libapache2-mod-security2
  2. 配置防盗链规则:规则需要添加到ModSecurity的配置文件中,比如/etc/modsecurity/modsecurity.conf。一条基础的防盗链规则看起来是这样的:

    SecRule REQUEST_FILENAME "\.(jpg|jpeg|png|gif)$" \
    "id:123456,\
    phase:2,\
    deny,\
    status:403,\
    log,\
    msg:'Access to image files is denied'"

    我们来解读一下这条规则:

    • SecRule REQUEST_FILENAME "\.(jpg|jpeg|png|gif)$":定义触发条件,即请求的文件名是否以指定的图片格式结尾。
    • id:123456:给规则一个唯一的编号,方便管理和排查。
    • phase:2:指定规则在请求处理的哪个阶段执行,phase:2是请求头部处理完成后。
    • denystatus:403:明确动作是拒绝请求,并返回403状态码。
    • logmsg:表示记录日志,并附上指定的提示信息。

方法三:使用X-Frame-Options

这个方法严格来说不算传统意义上的防盗链,但它能有效防止一种常见的资源滥用——点击劫持。通过设置一个HTTP响应头,可以控制页面能否被嵌入到其他网站的框架(iframe)中。

配置起来非常简单,同样是在.htaccess文件中加入一行:

Header always set X-Frame-Options "SAMEORIGIN"

这个指令的含义很直接:X-Frame-Options: SAMEORIGIN。它告诉浏览器,只允许同源(即相同域名、协议和端口)的页面用iframe嵌入当前页面。这样一来,其他网站就无法随意“框住”你的页面了。

注意事项

无论选择哪种方案,有几个通用的原则需要牢记:

  • 语法检查是关键:修改Apache配置文件或.htaccess后,务必使用apachectl configtest或类似命令测试语法,一个拼写错误就可能导致服务无法启动。
  • 先测试,再上线:尤其是在生产环境,强烈建议先在测试环境中验证规则效果,确保不会误伤正常的访问或引用(比如来自搜索引擎、内部服务的合法请求)。
  • 规则需要维护:安全不是一劳永逸的。随着网站域名变更或出现新的资源滥用方式,记得定期回顾和更新你的防盗链规则。

综合运用以上方法,可以很好地为Apache服务器上的资源建立起一道防护墙,有效管理资源访问权限,提升网站的整体安全性。

来源:https://www.yisu.com/ask/38998807.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Debian Dumpcap如何与其他工具协同工作
编程语言
Debian Dumpcap如何与其他工具协同工作

Debian 系统下 Dumpcap 与其他工具的协同工作与网络抓包分析指南 在 Debian Linux 系统中进行专业的网络数据包捕获与分析,单一工具往往难以满足复杂需求。作为 Wireshark 套件中高效、低资源占用的核心抓包引擎,dumpcap 的强大之处在于其出色的协同工作能力。本指南将

热心网友
05.02
phpstorm在Debian上的插件管理指南
编程语言
phpstorm在Debian上的插件管理指南

PhpStorm 在 Debian 上的插件管理指南 一 快速上手 安装与卸载 想给 PhpStorm 添砖加瓦?插件管理就是你的第一站。操作路径其实很直观:打开 PhpStorm,找到顶部菜单的 File → Settings → Plugins(macOS 用户则是 PhpStorm → Pre

热心网友
05.01
Debian如何使用phpstorm进行项目管理
编程语言
Debian如何使用phpstorm进行项目管理

在 Debian 上使用 PhpStorm 进行项目管理的实操指南 你是否正在寻找在 Debian Linux 系统上高效管理 PHP 项目的最佳方案?作为一款功能强大的集成开发环境(IDE),PhpStorm 凭借其智能代码辅助、深度调试支持和无缝版本控制集成,成为众多专业开发者的首选工具。本指南

热心网友
05.01
phpstorm在Debian上的远程开发功能介绍
编程语言
phpstorm在Debian上的远程开发功能介绍

概览 在Debian系统上进行PHP开发时,环境不一致是开发者普遍面临的挑战。本地开发环境运行顺畅的代码,部署到服务器后却频繁报错。幸运的是,PhpStorm提供了一套完善的远程开发解决方案,能够从根本上解决这一难题。 简而言之,这套方案主要涵盖三大核心功能:代码同步、远程执行与远程调试。您可以将远

热心网友
05.01
Debian防火墙与其他安全工具比较
编程语言
Debian防火墙与其他安全工具比较

Debian 防火墙与其他安全工具对比 一 核心概念与Debian常见选择 在 Debian 系统中,网络安全的基石是内核层面的 Netfilter 框架,它负责包过滤和网络地址转换。而用户日常接触的,其实是管理这个框架的各种工具。简单来说,Netfilter 是引擎,工具是方向盘和仪表盘。 那么,

热心网友
05.01

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

Composer version字段如何写_Composer版本号定义教程【必看】
编程语言
Composer version字段如何写_Composer版本号定义教程【必看】

摘要应包含研究背景与目的、研究方法与过程、核心发现与结果、结论与意义四部分,依次简明陈述,突出创新点与关键数据,保持客观、独立、完整。 千万别碰 version 字段。 这可不是让你填项目版本号的地方,它更像一个“潘多拉魔盒”:一旦你写了,就等于向 Composer 宣告“这个包不走寻常路”——没有

热心网友
05.03
Notepad++怎么设置点击标签页时自动刷新文件
编程语言
Notepad++怎么设置点击标签页时自动刷新文件

Notepad++ 怎么设置点击标签页时自动刷新文件 很多开发者都遇到过这个场景:用外部工具修改了文件,切回Notepad++的标签页,却发现内容还是旧的。这其实不是软件出了问题,而是它的默认行为就是如此。今天,我们就来彻底搞清楚它的刷新逻辑,并找到最可靠的解决方案。 Notepad++ 点击标签页

热心网友
05.03
WebStorm怎么设置点击外部自动保存
编程语言
WebStorm怎么设置点击外部自动保存

WebStorm点击外部窗口时自动保存需勾选“Synchronize files on frame activation”,该选项独立于空闲保存,失焦瞬间即触发保存并支持on sa ve格式化,但须启用Mark modified标识以确认生效。 点击外部窗口时自动保存文件 你是不是也遇到过这种情况?

热心网友
05.03
Hyperliquid (HYPE):价格预测与每日回购推动潜在上涨
web3.0
Hyperliquid (HYPE):价格预测与每日回购推动潜在上涨

Hyperliquid (HYPE):价格预测与每日回购推动潜在上涨 Hyperliquid 的原生代币 HYPE,最近可是赚足了眼球。强劲的上涨势头,配合着持续不断的每日回购和扎实的技术面结构,正在吸引越来越多投资者的目光。一个绕不开的问题是:它是否已经具备了向加密货币市值前十发起冲击的潜力? 市

热心网友
05.03
如何利用CPUInfo优化系统性能
编程语言
如何利用CPUInfo优化系统性能

如何利用CPUInfo优化系统性能 在Linux系统调优的领域里,硬件信息是决策的基石。一个高效的优化闭环,往往始于对硬件的透彻理解,再辅以“监控—分析—调优”的持续迭代。今天要聊的,就是如何从 proc cpuinfo这个看似简单的文件出发,一步步提升系统的吞吐量、降低延迟,并兼顾能效。这套方法,

热心网友
05.03