使用.htaccess实现简单的防盗链功能

2024-02-26 21:38

本文主要是介绍使用.htaccess实现简单的防盗链功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://study.soongsky.com/a/kongjianshiyong/2010/0511/52.html

 

网站上的图片被别人盗链,这是件很不爽的事情。简单地应用.htaccess文件,可以达到一定的防盗链效果。在网站空间根目录下建一个.htaccess文件,内容如下:

 
  1. RewriteEngine On  
  2. Options +FollowSymLinks  
  3. #测试来自非允许域名的引用  
  4. RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.com/ [NC]  
  5. RewriteCond %{HTTP_REFERER} !^http://blog.mydomain.com/ [NC]  
  6. #对图片重定向到404  
  7. RewriteRule /.(jpg|jpeg|gif|png|bmp)$ - [F,L,NC] 

当然,还可以采用其他一些较灵活的方法。比如把图片文件统一放在/img/目录下,然后:

 
  1. RewriteEngine On  
  2. Options +FollowSymLinks  
  3. #测试来自非允许域名的引用
  4. RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.com/ [NC]  
  5. RewriteCond %{HTTP_REFERER} !^http://blog.mydomain.com/ [NC]  
  6. #将图片目录重定向到404  
  7. RewriteRule ^img/ - [F,L,NC] 

有时你不想直接给个404错误,而是更人性化地显示一张错误提示图片,那么在根目录下放一个error.jpg文件,然后:

 
  1. RewriteEngine On  
  2. Options +FollowSymLinks  
  3. #测试来自非允许域名的引用
  4. RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.com/ [NC]  
  5. RewriteCond %{HTTP_REFERER} !^http://blog.mydomain.com/ [NC]  
  6. #将图片目录重定向到404  
  7. RewriteRule ^img/ error.jpg [R,L,NC] 

这里要注意确保error.jpg可访问,避免死循环。

这篇关于使用.htaccess实现简单的防盗链功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/750240

相关文章

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.