Typecho 插件开发 ZSecurity

文章更新日期:2024年10月8日 10点13分

警告

注意,此项目已经长期未更新,预计未来不会再进行维护,使用者酌情考虑使用,代码是公开的,如果遇到问题,需自行解决,没有版权,随便耍wink~

引言

因为有些功能插件没有,要么主题上限制太大,调试起来很麻烦,尤其是antiDevTools,所以就自己开发了一个插件。emm,由于用户群体非常少,所以测试阶段仅仅是本人测试,如有问题可以留言嗷。

功能

  1. 防止客户端debugger
  2. 一些对于Typecho的美化操作
  3. 轻量级WAF(拦截高频访问)
  4. 仅允许通过域名访问
  5. 以及其他,详细更新日志见个人博客。

界面

  • 插件设置

  • 顶部提示

  • 轻量级防火墙 (WAF-WebApplicationFirewall)
  • 🔺 轻量级站点防火墙[总开关] 使用前建议进行整站备份

  • 禁止通过IP访问

  • 域名绑定
  • 违规跳转页面
  • 禁止iframe嵌套
  • 🔺 抵御CC攻击总开关 以下内容切勿多出额外字符,并且需要启动上面的WAF

  • redis数据库地址

  • redis数据库端口号
  • redis数据库密码
  • 同IP访问几 次/分钟 相同页面触发
  • 同IP访问几 次/分钟 不相同页面触发
  • 封禁IP时间,单位秒
  • Redis缓存清空时间 单位秒
  • IP白名单,逗号分割多IP。通常用来搜索引擎收录IP以及自己的IP
  • 反盗版

  • 简单阻止开发者工具 这里的js不进行转义

  • 当发现开发者工具进行页面清空 不建议开启,可能存在误判 [阻止开发者工具启动时有效]
  • 脚本内容
  • 页面复制加版权信息
  • 版权作者
  • 外观设置

  • JS源

  • 鼠标点击特效 爆炸特效不建议开启
  • 公祭日页面灰度
  • 评论框打字特效
  • 鼠标样式
  • 辅助功能

  • 自动跳转到HTTPS页面

  • 针对管理员停用防火墙
  • 启动页面获取/失去焦点标题改变

截图

image.png

更新日志

V1.0.0

2021年5月18日

  • 第一个就是练手的,因为第一次玩Typecho的插件,所以就以HelloWorld的Demo改了改,就出来了
  • 简单的阻止开发者工具,主要是通过F12和ctrl+alt+i快捷键的拦截,以及520ms执行debugger
  • 鼠标点击emoji特效
  • 公祭日黑白页面
  • 页面中内容复制自动向剪切板中插入版权信息
  • 增加了管理页面的插件快捷入口 [后来加的]

V1.0.1

2021年5月19日-2021年5月20日 跨天了。🤦‍

  • 添加了数条阻止开发者工具的策略
  • 增加了一种鼠标特效
  • 添加评论框输入文字的特效
  • 增加了鼠标样式,内置4款样式
  • 添加了自定义版权作者
  • 调整设置页面布局,使其更加清晰
  • 添加了极端反调试选项,由于能力有限,不建议开启,以免误判降低用户体验。
注意

建议安装新版本的时候,重启一下插件【禁用再启用】,以免数据改版后无法生效,影响首页版式。
下一个版本中将会修正清空页面(极端反调试)默认值问题。【当前版本安装后需要手动禁用】

误差产生原因&解决方案:
现在的浏览器带有休眠策略,长时间挂起可能会休眠标签,因此造成误差,此问题可以通过修改代码中的时间周期阈值或者删除时间判断。


V1.0.2

2021年5月20日

  • 修复了鼠标特效代码缺陷造成的元素位移
  • 优化了阻止开发者工具的性能问题
  • 添加了JS的CDN选项
  • 代码更加优雅了
注意

建议安装新版本的时候,重启一下插件【禁用再启用】,以免数据改版后无法生效【阻止开发者工具策略】,影响首页版式。


V1.0.520 β

2021年5月20日

  • 这次的版本号就是这么豪横 😁
  • 添加了限制IP直接访问的功能
  • 添加了只允许通过域名访问[域名绑定]
  • 添加了禁止iframe嵌套功能
  • 可以自定义违规页面
注意

此版本含有修改源代码指令,因此需要数据备份!!!


V1.0.521 β

2021年5月21日

  • 这次的版本号还是这么豪横 😁
  • 修复了线上模式请求异步处理导致事件不触发。
  • 修复了域名判断的逻辑性Bug
  • 仍然是测试版。
注意

此版本含有修改源代码指令,因此需要数据备份!!!


V1.0.5211 β

2021年5月21日
烦躁,线下没问题,上线就有人反馈,还是太着急了。

  • 这次的版本号依然这么豪横 😁
  • 移除了BOM--[导致匿名js异常]
  • 修复了若干Bug
注意

此版本含有修改源代码指令,因此需要数据备份!!!


V1.0.6 β

2021年5月24日
github上的版本为1.0.3,内部版本号为1.0.6。

  • 本次更新添加了防CC攻击模块
  • 修复了若干Bug
  • 此版本的防CC模块需要Redis的支持哦
注意

此版本建议重新启动插件。


V1.0.7

2021年5月25日

  • 优化了部分逻辑
  • 删除了遗留的无用方法和参数
  • 添加了Redis认证机制
警告

如果是更新本插件,需要禁用后删除,重新启动,否则可能无法打开网站。


V1.0.8

2021年5月26日

  • 修复了歧义提示
  • 添加了辅助模块
  • 添加了HTTPS强制跳转

V1.0.9

2021年5月30日

  • 修复了一个致命性Bug
  • 修复了歧义提示
  • 提高了系统安全性

V1.1.0

2021年6月2日

  • 修复了一些问题(zlog和默认block页)

V1.1.1

2021年6月3日

  • 可以针对于管理员登录者关闭WAF和AntiDevTool

V1.1.2

2021年6月28日

  • 完善了部分代码,修复了管理员关闭WAF时,插件调用触发WAF

V1.1.3

2021年7月1日

  • 修复了管理员下关闭WAF模式,缓存数据库失效会无法访问的问题

V1.1.4

2021年9月7日

  • 添加了焦点事件(外观美化)
  • 修改了布局问题

V1.1.5

2022年3月9日

  • 修复本地anime引用错误
  • 更改了block页面调用方式以及页面内容

V1.1.6

2022年3月20日

  • 对Typecho1.2.0兼容
  • 修复了部分JS引入问题
引用

感谢humh反馈


V1.1.7

2022年4月1日

  • UA 标识拦截

下载地址

https://github.com/zunmx/ZSecurity

评论 19

  1. 挺胸的打工人
    不错!φ( ̄∇ ̄o)
    1. zmx
      大家的认可是对我最大的支持。😁
  2. zmx
    我也不知道当时哪里来的自信,直接动线上版本,差点炸掉,果断的线下操作了,还是想得太简单了。
    1. zmx
      不提交了,莫名的bug,等一下子都改好了再提交了。
  3. zmx
    大家的认可是对我最大的支持。?
  4. 远方
    插件好棒!另外请教博主,人名后面的标签是插件么?是怎么设置的呢?
    1. zmx
      感谢您的支持,人名后面的标签用的UserAgent插件,需配合Handsome主题使用。
  5. humh
    虽然还没使用,但看起来就很牛皮,先为大佬点赞。等我使用后,再来复评。
    1. zmx
      感谢您的支持,在使用过程中,有Bug可以在此评论,也可以邮件或GITHUB中提出。
  6. humh
    大佬插件的版本是不typecho 1.2.0以下的,我看我1.2.0 php8,有语法错误貌似,插件启用不了。
    1. zmx
      已经发布1.1.6,解决了此问题
    2. zmx
      感谢您的反馈,问题已经成功复现。
  7. Mr.C
    👌非常棒啊,已经用上了,但是有一个问题,这样会不会影响正常的浏览器收录?
  8. Mr.C
    我现在就是因为启用了这个插件以后,bing不收录了,怎么卸载这个插件呢
    1. zmx
      很抱歉给您带来不便,已经邮件回复。
      1. Mr.C
        这段内容只有评论者和博主可见
    2. Mr.C
      这段内容只有评论者和博主可见
  9. Henry
    大佬,插件禁用不了了咋办
    1. zmx
      已邮件回复,请检查个人邮箱。
提交后需要审核才会公开。