网站首页
高清壁纸
网站统计
留言面板
友情链接
关于我们
Search
1
在线生成FinalShell高级版、专业版激活码
2,042 阅读
2
Beyond Compare 4.3.4 Linux系统破解教程
845 阅读
3
Synergy 1.14.6 跨平台版本及激活码
432 阅读
4
FinalShell注册机 (服务器shell管理工具)
253 阅读
5
Beyond Compare v4.4.3.26655 中文破解版 (文件对比软件)
210 阅读
最新资讯
技术分享
Windows
macOS
Linux
Android
WordPress
登录
/
注册
Search
标签搜索
破解版
中文破解版
FinalShell
Beyond Compare
文件对比
激活码
Parallels Desktop
Parallels Desktop 18
Bartender 4
Sublime Text 4.0
代码编辑器
Joe主题
验证码
教程
Hasleo EasyUEFI
EasyUEFI
Windows
启动管理
WordPress
WPOPT
Egotp Software
累计撰写
16
篇文章
累计收到
2
条评论
首页
栏目
最新资讯
技术分享
Windows
macOS
Linux
Android
WordPress
页面
高清壁纸
网站统计
留言面板
友情链接
关于我们
用户登录
登录
注册
搜索到
1
篇与
Joe主题
的结果
2022-09-13
Joe主题评论增加验证码教程
主题描述全站变量名、类名统一规范,重在方便更多人参与二开与拓展主题开箱即用,没有任何复杂的操作,无需像其他主题去特意创建个分类等。主题独家Joe编辑器主题响应式布局,不依赖任何响应式框架,采用 Joe 独家响应式主题在一切可能暴露的接口上,屏蔽sql注入、xss攻击风险,提供安全保障内置超强视频功能、包含直播功能、全网影视功能、文章内插入视频功能主题SEO极致优化,Lighthouse SEO跑分彪满100分主题色彩全局公用、小白轻松直接修改整站自定义主题色主题内置代码高亮、无需借助任何插件、支持200种语言主题首发极强画图回复功能,为你的博客带来用户互动,不再像传统博客那样,仅限文字主题内置sitemap、百度推送、友联、回复可见等,无需依赖任何插件主要问题该主题虽精简小巧好用,但是恶意评论或者灌水现象问题亟需解决,因此我们主要来解决此问题,网上各种解决方法很多,但是并不优美得体大方,所以我们这篇文章主要是解决用户在评论时增加验证码,拒绝恶意灌水问题。解决问题1、复制以下代码并建立captcha.php文件放在/Joe/core/目录下<?php session_start(); header("Content-type: image/png"); $image = imagecreatetruecolor(85, 25); $bgcolor = imagecolorallocate($image, 255, 255, 255); imagecolortransparent($image, $bgcolor); imagefill($image, 0, 0, $bgcolor); $content = "0123456789"; $captcha = ""; /* 绘制干扰点 */ for ($i = 0; $i < 80; $i++) { $pointColor = imagecolorallocate($image, rand(100, 255), rand(100, 255), rand(100, 255)); imagesetpixel($image, rand(0, 85), rand(0, 25), $pointColor); } /* 绘制验证码 */ for ($i = 0; $i < 4; $i++) { $fontSize = 10; $fontColor = imagecolorallocate($image, 155, 155, 155); $fontContent = rand(0, 9); $captcha .= $fontContent; $x = ($i * 85 / 4) + 7; $y = rand(3, 8); imagestring($image, $fontSize, $x, $y, $fontContent, $fontColor); } $_SESSION["captcha"] = $captcha; imagepng($image); imagedestroy($image); 2、编辑/Joe/core/factory.php文件在此文件的约第12行下增加以下内容/* -- 验证码前端校验 -- */ session_start(); $captcha = (int)Typecho_Request::getInstance()->captcha; if (!$captcha) throw new Typecho_Widget_Exception('请输入验证码!', 403); if ($captcha != $_SESSION['captcha']) throw new Typecho_Widget_Exception('验证码错误,请检查!', 403); /* -- 验证码前端校验 -- */3、编辑/Joe/assets/joe.global.js文件找到约第402行或以下代码处if (!/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(mail)) return Qmsg.info("请输入正确的邮箱!");复制一下代码粘贴在上面代码的下方4、编辑/Joe/assets/joe.global.min.js文件找到约第375行或以下代码处return Qmsg.info("请输入正确的邮箱!");复制一下代码粘贴在上面代码的下方 /* -- 验证码前端校验 -- */ const ca = $( ".joe_comment__respond-form .head input[name='captcha']" ).val(); if ("" === ca.trim()) return Qmsg.info("请输入验证码!"); /* -- 验证码前端校验 -- */找到约第392行或以下代码data: { author: i, mail: c, text: d, parent: n, url: r, _: s },将其改为以下代码data: { author: i, mail: c, text: d, parent: n, captcha: ca, url: r, _: s },{message type="success" content="完成以上修改后刷新即可看到评论区出现验证码,如果使用CDN记得清理CDN的缓存和浏览器缓存后测试,否则会出现验证码错误!"/}
2022年09月13日
70 阅读
0 评论
0 点赞
在线咨询!