AI摘要

本文介绍了如何在Typecho博客中设置本地附件防盗链,以防止媒体文件被其他网站盗用。步骤包括开启永久链接功能和在.htaccess文件中添加相应的规则。规则包括禁止空Referer请求、允许特定Referer请求、拒绝非白名单请求并返回403错误。

在搭建博客时,确保媒体文件(如图片、视频等)不会被其他网站盗用,是非常重要的。为了避免附件被盗链,我们可以通过配置 .htaccess 文件来实现防盗链功能。下面是如何在 Typecho 中设置本地附件防盗链的详细教程。

步骤 1:开启永久链接功能

  1. 登录到 Typecho 后台。
  2. 在后台菜单中,进入 设置
  3. 找到 永久链接 部分,你将看到几种不同的链接结构选项,以及是否使用地址重写功能
  4. 选择一种你喜欢的结构,开启地址重写功能并保存更改。

注意:永久链接的设置并不会直接影响防盗链的实现,但如果永久链接没有启用,URL 重写规则将不会生效,因此这是一个必需的步骤。

步骤 2:防盗链设置

确保在 Typecho 的根目录下存在 .htaccess 文件。在 .htaccess 文件中,添加以下内容来启用防盗链功能:

# ========== 防盗链开始 ==========

# 拒绝空 Referer(如你希望允许空 Referer,请注释掉下一行)
RewriteCond %{HTTP_REFERER} ^$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp|webp|avif|svg|mp4|avi|mov|mkv|flv|wmv|webm|mp3|wav|ogg|aac|flac|pdf|doc|docx|ppt|pptx|xls|xlsx|txt|rtf|odt|zip|rar|7z|tar|gz|bz2|exe|msi|apk|dmg|pkg|iso|js|css|woff|woff2|ttf|otf|eot)$ - [F,L]

# 允许以下网站的 Referer(白名单)
RewriteCond %{HTTP_REFERER} ^https?://(www\.)?(oini\.de|google\.com|baidu\.com|sogou\.com|bing\.com) [NC]
RewriteRule .* - [L]

# 非白名单 Referer 请求上述文件,返回 403 Forbidden
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?(oini\.de|google\.com|baidu\.com|sogou\.com|bing\.com) [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp|webp|avif|svg|mp4|avi|mov|mkv|flv|wmv|webm|mp3|wav|ogg|aac|flac|pdf|doc|docx|ppt|pptx|xls|xlsx|txt|rtf|odt|zip|rar|7z|tar|gz|bz2|exe|msi|apk|dmg|pkg|iso|js|css|woff|woff2|ttf|otf|eot)$ - [F,L]

# ========== 防盗链结束 ==========

# 可选:设置403错误页面
ErrorDocument 403 /403.html

规则解析

  • 禁止空 Referer 的请求:

    RewriteCond %{HTTP_REFERER} ^$ [NC]
    RewriteRule .*\.(gif|jpg|jpeg|png|bmp|webp|avif)$ - [F,L]
  • 允许特定 Referer 的请求:

    RewriteCond %{HTTP_REFERER} ^https?://(www\.)?(oini\.de|google\.com|baidu\.com|sogou\.com|bing\.com) [NC]

    允许来自白名单网站(如 Google、Baidu 等)的图片请求。

  • 拒绝非白名单的请求并返回 403 错误:

    RewriteCond %{HTTP_REFERER} !^https?://(www\.)?(oini\.de|google\.com|baidu\.com|sogou\.com|bing\.com) [NC]
    RewriteRule .*\.(gif|jpg|jpeg|png|bmp|webp|avif)$ - [F,L]

    如果请求的 Referer 不在白名单中,则返回 403 错误,拒绝访问图片。

END
本文作者:
文章标题:Typecho 本地附件防盗链设置
本文地址:https://oini.de/archives/65.html
版权说明:若无注明,本文皆LJZの博客原创,转载请保留文章出处。
最后修改:2025 年 05 月 05 日
如果觉得我的文章对你有用,请随意赞赏