盗链问题何时休,网站如何配置防盗链功能有效杜绝盗图行为 原创 配置 AppNode
时间:2022-06-02
本文章向大家介绍盗链问题何时休,网站如何配置防盗链功能有效杜绝盗图行为
原创
配置
AppNode,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
如今很多搬运工直接复制搬运原创网站的内容,让原创作者很头痛,本文来聊聊通过服务器配置杜绝盗取行为!
-配置要求:
1、CentOS系统服务器
2、AppNode管理面板
-配置步骤:
纯净CentOS系统使用工具Xshell连接服务器,输入以下命令安装AppNode管理面板;
INSTALL_AGENT=1 INIT_SWAPFILE=1 bash -c "$(curl -sS http://dl.appnode.com/install.sh)"
安装完成后登录管理面板,进入软件管家分别安装网站管理和Nginx相关环境,根据自身网站需求安装即可;
通过安装的网站管理操作面板创建运行环境,创建网站,部署好网站后开始进行配置网站防盗链功能;
选择要配置的网站打开管理面板,选择优化>缓存/防盗链选项,设置需要放倒的文件扩展名;
开启防盗链开关,可根据自身需求设置允许访问来源,其他域名选项可以设置不拦截的域名白名单;
配置检测为盗链行为跳转到自定义指定页面;
这个页面可以设置一张图片链接,所有网站的盗链行为被触发都会被替换这张图片,有效杜绝盗取,如下图;
这个防盗链功能不仅可以有效杜绝普通的复制搬运,还可以有效杜绝任何人通过反向代理到你的网站,同样触发盗链行为,替换扩展名设置的文件;
盗链行为通过网站管理日志文件可以清楚看到哪些网站正在盗链;
Nginx配置源文:
location ~* .(js|css|png|jpg|jpeg|gif|ico|bmp|swf|eot|svg|ttf|woff|woff2)$ {
expires 15d;
valid_referers none blocked server_names *.qimeng.tv *.baidu.com *.qq.com;
if ($invalid_referer) {
return 302 https://www.qimeng.tv/hotlinking/icon.png!QiMeng-pic;
access_log /log/nginx/invalid_referer.log;
}
- 洛谷 P1019 单词接龙【经典DFS,温习搜索】
- MVCforum 支持多国语言
- BZOJ 1012: [JSOI2008]最大数maxnumber【线段树单点更新求最值,单调队列,多解】
- BZOJ 1303: [CQOI2009]中位数图【前缀和】
- 高斯消元模版
- HDU 1728 逃离迷宫(DFS经典题,比赛手残写废题)
- 洛谷 P1219 八皇后【经典DFS,温习搜索】
- KVM基于内核的虚拟机概念理解与客户机浅析
- 洛谷 P1972 [SDOI2009]HH的项链【莫队算法学习】
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
- 在 EF 5 中跟踪SQL和缓存数据
- hihoCoder #1015 : KMP算法【KMP裸题,板子】
- 对X86汇编的理解与入门
- BZOJ 2748: [HAOI2012]音量调节【二维dp,枚举】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Semaphore:如何快速实现一个限流器?
- 延迟初始化Spring Bean:延迟初始化的Bean会影响依赖注入吗?
- Android 音乐APP(二)启动白屏优化、定位当前播放歌曲
- CompletableFuture:异步编程没那么难
- 你知道Oracle数据库除了SGA和PGA,还有MGA么?
- .NET Standard 类库的使用技巧
- Makefile实例:批量编译多个目标
- GitHub如何回滚代码1.git log 查看commit hash值2.执行git reset --hard xxxx3.git push -f
- java获取程序执行时间
- Redis数据增多了,是该加内存还是加实例?
- 针对mysql delete删除表数据后占用空间不变小的问题
- 报错信息:(VI_1): ip address associated with VRID 80 not present in MASTER advertt : 192.168.1.8
- 如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?
- 如果MySQL的 InnoDB 文件的损坏,该如何手动恢复?
- 如何使用慢查询快速定位执行慢的 SQL?