跳到主要内容

使用防盗链保护您的图片

防盗链保护是一项关键功能,可以防止外部网站通过直接链接您网站托管的图片和媒体来消耗您的服务器资源。本指南介绍如何使用 .htaccess 文件配置防盗链保护,帮助您保护服务器带宽。

  • 了解防盗链保护
  • 使用 .htaccess 设置防盗链保护
  • mod_rewrite 的工作原理
  • 使用 mod_rewrite 进行盗链防护
  • 测试您的设置
  • 总结

了解防盗链保护

防盗链保护阻止其他网站嵌入您的图片、视频或其他媒体,有效阻止未经授权的请求。通过使用 Apache 的 .htaccess 文件,您可以防止对资源的直接链接,同时仅允许来自指定、批准的 URL 访问。

使用 .htaccess 设置防盗链保护

  1. 打开存放图片的目录中的 .htaccess 文件。
  2. 复制并粘贴以下代码以定义允许的 URL:
SetEnvIfNoCase Referer "^http://www.example.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://example.com/" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1

Order Allow,Deny
Allow from env=locally_linked

  1. example.com 替换为您的域名,保存并上传。

mod_rewrite 的工作原理

为了增强防盗链保护,可以使用 Apache 的 mod_rewrite 模块。以下代码会阻止外部图片链接,除非 HTTP 引用来源是您的域名:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]

使用 mod_rewrite 进行盗链防护

盗链防护是防止他人未经授权大量使用您网站资源的更具体措施。要实现盗链防护,请确保已安装 mod_rewrite,合理安排媒体目录结构,并在图片目录中添加 .htaccess 文件,内容如下:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]

测试您的设置

要验证防盗链保护是否生效,请在另一台服务器上创建一个测试页面,嵌入来自您受保护目录的图片。如果盗链尝试导致图片无法显示,则说明您的设置成功。任何授权请求应能在您的网站上正常显示。

总结

防盗链保护是一种简单而有效的方式,用于保护您网站的资源,防止未经授权使用您的图片和媒体文件。通过遵循本指南,您可以轻松使用 Apache 的 .htaccess 文件设置防盗链保护,或使用 mod_rewrite 进行更高级的盗链防护配置。此设置将帮助您节省带宽,增强安全性,保护您的内容免受未经授权的使用。