Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome)
Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome)
起因
最近垃圾评论比较多,为了防止一些机器人,我给博客添加了一些评论过滤机制,并为评论添加了验证码。
原本使用的插件是noisky/typecho-plugin-geetest,这个插件是只有在页面刷新的时候才初始化Geetest验证码。由于我用的主题是Handsome并且开启了PJAX回调,进入页面和文章是不进行刷新的,这就导致Geetest无法加载。
因此我改进了这个插件,使其能够支持启用了PJAX的主题。
(目前我已经向noisky/typecho-plugin-geetest发起合并请求,截止到我写这篇文章的时候还没有被允许,启用了PJAX回调的小伙伴可以先使用我仓库的这个)
项目地址
Github地址:CairBin/typecho-plugin-geetest
使用说明
1 下载激活插件
下载插件后,解压,将文件夹名称改为 Geetest,上传到 /usr/plugins 目录下,在插件面板启用插件并配置即可使用;
或者直接在 Typecho 的插件目录下执行如下命令:
cd typechoPath/usr/plugins
git clone https://github.com/noisky/typecho-plugin-geetest.git Geetest
2 配置Nginx伪静态
如果使用了宝塔面板,可以在站点设置中进行配置。(Apache也是类似,但配置写法不一样)
location / {if (!-e $request_filename){rewrite ^(.*)$ /index.php;}
}
3 配置插件
极验验证码的 ID 和 KEY 需要到极验官网 https://www.geetest.com/ 获取;
注册、创建应用的时候,基础版是免费的;
如需开启评论验证码,则需要在你的主题评论模板 comments.php 中的任意一行添加如下代码(一般写在评论表单内,评论提交按钮之前):
<div id="captcha"></div><?php Geetest_Plugin::commentCaptchaRender(); ?>
<script src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script>
由于jsDelivr在中国大陆失效,若服务器部署在大陆境内,在可以使用字节跳动的CDN:
<div id="captcha"></div><?php Geetest_Plugin::commentCaptchaRender(); ?>
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/2.2.4/jquery.min.js"></script>
对于某些主题已经加载了JQuery(如Handsome),因此无需再次引入
<div id="captcha"></div><?php Geetest_Plugin::commentCaptchaRender(); ?>
效果展示
- 插件后台

- 登陆界面

- 评论区

相关文章:
Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome)
Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome) 起因 最近垃圾评论比较多,为了防止一些机器人,我给博客添加了一些评论过滤机制,并为评论添加了验证码。 原本使用的插件是noisky/typecho…...
前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包
前言 JS是前端三件套之一,也是核心,本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点,这篇是ES6;这篇文章是本人大一学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 JS高级 ES61、面向对象1.1…...
脑机接口、嵌入式 AI 、工业级 MR、空间视频和下一代 XR 浏览器丨RTE2024 空间计算和新硬件专场回顾
这一轮硬件创新由 AI 引爆,或许最大受益者仍是 AI,因为只有硬件才能为 AI 直接获取最真实世界的数据。 在人工智能与硬件融合的新时代,实时互动技术正迎来前所未有的创新浪潮。从嵌入式系统到混合现实,从空间视频到脑机接口&…...
RoseTTAFold MSA_emb类解读
MSA_emb 类的作用是对多序列对齐(MSA)数据进行嵌入编码,同时添加位置编码和查询编码(调用PositionalEncoding 和 QueryEncoding)以便为序列特征建模类。 源代码: class MSA_emb(nn.Module):def __init__(self, d_model=64, d_msa=21, p_drop=0.1, max_len=5000):super(…...
2411C++,C++26反射示例
参考 namespace __impl {template<auto... vals>struct replicator_type {template<typename F>constexpr void operator>>(F body) const {(body.template operator()<vals>(), ...);}};template<auto... vals>replicator_type<vals...>…...
Ubuntu上搭建Flink Standalone集群
Ubuntu上搭建Flink Standalone集群 本文部分内容转自如下链接。 环境说明 ubuntu 22.06 先执行apt-get update更新环境 第1步 安装JDK 通过apt自动拉取 openjdk8 apt-get install openjdk-8-jdk执行java -version,如果能显示Java版本号,表示安装并…...
C语言 精选真题2
题目要求:将形参s所指向的字符串转换为整数并且返回 知识点: 将字符1转化为整数1 int fun(char *s) {int flag1,n0; if(*s-) //先根据第一个符号来判断是正负;然后读取第二位{flag-1;s; }else if(*s){s;}while(*s>0&&…...
Netty篇(WebSocket)
目录 一、简介 二、特点 三、websock应用场景 四、websocket案例 1. 服务端 2. 处理器 3. 页面端处理 五、参考文献 一、简介 没有其他技术能够像WebSocket一样提供真正的双向通信,许多web开发者仍然是依赖于ajax的长轮询来 实现。(注ÿ…...
云原生-docker安装与基础操作
一、云原生 Docker 介绍 Docker 在云原生中的优势 二、docker的安装 三、docker的基础命令 1. docker pull(拉取镜像) 2. docker images(查看本地镜像) 3. docker run(创建并启动容器) 4. docker ps…...
MySQL数据库:SQL语言入门 【上】(学习笔记)
SQL(Structured Query Language)是结构化查询语言的简称,它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。(95%适用于所有关系型数据库) 【 SQL是关系型数据库通用的操作…...
重学 Android 自定义 View 系列(六):环形进度条
目标 自定义一个环形进度条,可以自定义其最大值、当前进度、背景色、进度色,宽度等信息。 最终效果如下(GIF展示纯色有点问题): 1. 结构分析 背景圆环:表示进度条的背景。进度圆环:表示当前…...
nodejs 020: React语法规则 props和state
props和state 在 React 中,props 和 state 是管理数据流的两种核心机制。理解它们之间的区别和用途是构建 React 应用程序的基础。 一、props 和 state的区别 特性propsstate定义方式由父组件传递给子组件的数据组件内部管理的本地数据是否可修改不可变ÿ…...
STM32问题集
这里写目录标题 一、烧录1、 Can not connect to target!【ST-LINK烧录】 一、烧录 1、 Can not connect to target!【ST-LINK烧录】 烧录突然 If the target is in low power mode, please enable “Debug in Low Power mode” option from Target->settings menu 然后就&…...
SwiftUI(十二)- 容器组件 布局与结构的基石
引言 在用户界面开发中,布局是设计一个应用程序的视觉层次和交互体验的核心之一。无论是设计简单的按钮排布,还是复杂的多层次页面,合理的布局和结构可以极大地提升用户体验。而容器组件,作为将多个视图整合、组织、排列的工具&a…...
想租用显卡训练自己的网络?AutoDL保姆级使用教程(PyCharm版)
各位小伙伴们大家好~ 不知道各位同学在科研过程中是否有这样的苦恼 电脑无显卡。难不成我要用CPU跑实验吗?救救我吧电脑显卡算力太低。训练过程慢慢慢慢慢,等半天都出不来结果电脑显卡显存不够,batchsize稍微高一点点,就要爆显存…...
LeetCode【0039】组合总和
本文目录 1 中文题目2 求解方法:回溯法2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 给定一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#…...
AscendC从入门到精通系列(一)初步感知AscendC
1 什么是AscendC Ascend C是CANN针对算子开发场景推出的编程语言,原生支持C和C标准规范,兼具开发效率和运行性能。基于Ascend C编写的算子程序,通过编译器编译和运行时调度,运行在昇腾AI处理器上。使用Ascend C,开发者…...
PostgreSQL中的COPY命令:高效数据导入与导出
在PostgreSQL数据库中,数据导入和导出是日常工作中常见的操作。传统的插入(INSERT)方法虽然可以实现数据的导入,但在处理大量数据时效率较低。而COPY命令则提供了一个快速、高效的方式来完成这一任务。COPY命令不仅可以用于将数据…...
【HAL库】STM32F105VCTx多通道ADC+DMA方式的【STM32CubeMX】配置及代码实现
相关代码编写 配置好后点击生成代码,在生成代码的adc.c文件中的初始化函数MX_ADC1_Init中添加如下代码: HAL_ADCEx_Calibration_Start(&hadc1); /* 校准ADC */HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Value,ADC_DMA_…...
[SaaS] 数禾科技 AIGC生成营销素材
https://zhuanlan.zhihu.com/p/923637935https://zhuanlan.zhihu.com/p/923637935...
Rshell框架实战:红队内网渗透的信道管理与双平台协同
1. 这不是“教你怎么黑”,而是还原一次真实红队作业的完整切片Rshell框架——这个名字在渗透测试圈子里不算陌生,但真正把它用透、用稳、用出生产级效果的人,远比想象中少。我见过太多人把Rshell当成一个“带图形界面的msfvenomnc组合包”&am…...
MobileSAM深度解析:轻量化图像分割架构揭秘与实战应用
MobileSAM深度解析:轻量化图像分割架构揭秘与实战应用 【免费下载链接】MobileSAM This is the official code for MobileSAM project that makes SAM lightweight for mobile applications and beyond! 项目地址: https://gitcode.com/gh_mirrors/mo/MobileSAM …...
Path of Building PoE2:终极流放之路2角色构建指南与实战教程
Path of Building PoE2:终极流放之路2角色构建指南与实战教程 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 想要在《流放之路2》中打造完美角色吗?Path of Building PoE2&#…...
Windows平台PDF处理终极方案:告别编译烦恼,三分钟快速部署
Windows平台PDF处理终极方案:告别编译烦恼,三分钟快速部署 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 还在为Windows上…...
小新 Pad Pro 2022 投屏新姿势|ZUI14 小组件一键镜像,效率直接拉满
很多联想小新平板用户都知道系统自带投屏功能,但很少有人留意到ZUI14 里藏着一个超便捷的小组件投屏入口,不用翻设置、不用等搜索,桌面点一下就能快速投屏,特别适合日常办公、学习、演示等高频场景。今天分享来自联想官方知识库的…...
TV Bro电视浏览器:终极Android电视网页浏览解决方案,让大屏上网变得简单高效
TV Bro电视浏览器:终极Android电视网页浏览解决方案,让大屏上网变得简单高效 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro 您是否曾尝试在智能…...
Mac应用彻底清理指南:使用Pearcleaner免费开源工具释放存储空间
Mac应用彻底清理指南:使用Pearcleaner免费开源工具释放存储空间 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是不是经常发现Mac电脑的存储空…...
大牛直播SDK(SmartMediaKit)Windows平台多路RTSP转RTMP推流集成说明
文档概述 在安防监控、智慧园区、应急指挥、工业视觉、低空经济、无人机回传和多路摄像头上云等场景中,现场设备通常以 RTSP 方式输出视频流,而云端平台、直播分发平台或业务中台往往更倾向于接收 RTMP 流。此时,系统需要在边缘侧或 Windows…...
车载信息娱乐系统(IVI)安全渗透实战:网络、固件与CAN总线三维攻防
1. 为什么车载信息娱乐系统(IVI)正在成为安全攻防的新前线去年冬天在长三角某主机厂做嵌入式安全评估时,我遇到一个典型场景:一辆刚下线的量产SUV,中控屏在连接手机热点后,仅用23秒就完成了从Wi-Fi握手包捕…...
工业物联网实战:Wind River Helix与边缘网关的云边协同部署指南
1. 项目概述:当工业软件平台遇上边缘网关最近在做一个工业物联网项目,客户现场有几十台不同年代、不同协议的设备需要接入云端,同时边缘侧还要跑一些实时性要求很高的控制逻辑。这让我想起了几年前折腾过的Wind River Helix平台和它的App Clo…...
