Typecho handsome访客统计插件最新版VistorLoggerPro

文章目录

    • 介绍
    • 功能特点
    • 页面预览
    • 安装及更新方法
    • 系统要求
    • 使用说明
      • 基本使用(Handsome主题适用)
    • 隐私保护
    • 技术实现
    • 更新日志
    • 最后

介绍

这是一个为 Typecho 博客系统开发的访客统计插件,基于原版的VistorLogger修改版本。该插件提供了详细的访问统计功能,包括访问国家/地区统计、IP分布等信息,并进行了隐私保护处理。


原文链接:https://blog.ybyq.wang/archives/97.html

功能特点

功能分类功能描述
数据统计功能• 访问国家/地区统计(Top 30)
• IP分布统计(已匿名化处理)
• 省份访问统计图表(TOP 30)
• 路由访问统计分析(页面访问量统计)
• 访问时间统计(按日期分布)
• 管理员访问自动排除
数据筛选功能• 日期范围选择器
• 快捷时间选择(今天、最近7天、最近30天、全部)
• 按钮选中状态高亮显示
• 默认只加载近7天数据,优化首次加载速度
数据展示功能• ECharts环形图表展示方式
• 列表视图支持(详细数据展示)
• 图表悬停效果(显示详细信息)
• 自适应图表区域
数据管理功能• 删除特定IP记录功能(支持模糊匹配)
• 数据库自动优化
• 时区自动转换功能,确保访客时间记录准确
兼容性功能• 适配器支持(adapter.php),实现原版VisitorLogger插件与当前插件的无缝衔接
• 自动数据迁移,保留原有统计数据
• 兼容新版Typecho(带命名空间版本)
• 兼容不同主题,特别优化handsome主题
性能优化• 异步API数据加载(getVisitStatistic.php)
• 解决大数据量加载问题,提高页面响应速度(从10s优化到2s)
• 使用CDN加载ECharts图表库,减少插件体积
• 优化移动端显示
隐私保护• IP地址匿名化处理(只显示前两段)
• 明确的隐私声明
• 符合相关法律法规要求
• 数据安全存储
界面特性• 移动端自适应布局
• 美观的图表展示
• 增高环形图展示区域,改善视觉效果
• 列表/图表切换视图
• 优雅的加载动画

页面预览

后台预览1
后台预览2

Handsome前台效果可参考本站左侧访客导航页面
前台预览


安装及更新方法

[scode type=“green”]

  1. 下载插件文件(文末)
  2. 在本地解压后把目录名改为VisitorLoggerPro
  3. 将改后的文件上传到/usr/plugins目录下
  4. 在 Typecho 后台启用插件
  5. 要把该文件visitor-stats.php移动到handsome主题根目录(handsome主题适用)
  6. 直接用新版本覆盖掉旧版本即可完成更新
    [/scode]

系统要求

项目要求
PHP版本7.4及以上
Typecho版本1.2.1及以上
数据库MySQL 5.5及以上或等效数据库

使用说明

基本使用(Handsome主题适用)

  1. 在 Typecho 后台创建新页面
  2. 在页面模板中选择"访客统计"
  3. 发布页面即可看到统计效果
  4. 创建新页面,选择"访客统计"模板

隐私保护

本插件已实现以下隐私保护措施:

  • IP地址匿名化处理(只显示前两段)
  • 明确的隐私声明
  • 符合相关法律法规要求

技术实现

  • 前端:ECharts 图表库
  • 后端:PHP + MySQL
  • 数据存储:Typecho 数据库
  • 数据处理:通过API异步加载,提高性能

更新日志

版本类型更新内容
v2.1.1
(2024-06-21)
优化• 移除本地chart.js文件(约200KB),减少插件体积
• 全部使用CDN加载ECharts图表库
修复• 删除panel.php中对本地chart.js的引用
v2.1.0
(2024-06-18)
前台优化• 新增API端点(getVisitStatistic.php)处理数据聚合
解决前台大数据量加载问题,提高页面响应速度(10到2s)
• 添加日期范围选择器和快捷按钮(今天、最近7天、最近30天、全部)
• 实现按钮选中状态高亮显示
• 优化首次加载速度,默认只加载近7天数据
• 增高环形图展示区域,改善视觉效果
• 修复图表悬停效果
后台优化• 添加删除特定IP记录功能(支持模糊匹配)
重构图表加载逻辑,使用异步API获取数据
• 添加省份访问统计图表
• 优化后台路由统计,解决X轴信息重叠问题
• 优化日期选择功能
修复• 修复内容解码错误(ERR_CONTENT_DECODING_FAILED)
• 修复SQL错误(Unknown column ‘province’)
v2.0.2
(2025-06-13)
功能增强新增后台忽略IP名单功能,支持多种IP格式
• 前台删除管理员(自己)访问记录功能,保持统计数据纯净
优化CDN环境下IP识别机制,解决IP不准确问题
• 添加IP地址过滤器,支持自定义过滤规则
修复修复PHP 8.0环境下的弃用函数警告
• 修复在某些主题下的样式冲突问题
• 修复日期选择器在移动端的显示问题
• 优化数据库查询,减少资源占用
v2.0.1
(2025-05-15)
功能改进• 修复时区问题:将数据库time字段从TIMESTAMP改为DATETIME类型
• 添加服务器时区自动转换功能,确保访客时间记录准确
• 优化数据迁移处理,自动转换已有记录的时区
添加适配器(adapter.php),实现原版插件与当前插件的无缝衔接
修复• 修复时区显示不正确的问题
• 修复数据库查询兼容性问题
v2.0.0
(2025-04-23)
主要功能• 初始版本发布
• 实现基本访客统计功能
• 国家/地区访问统计
• IP分布统计(已匿名化处理)
• ECharts环形图表展示方式
• 列表视图支持
• 移动端适配
隐私保护• IP地址匿名化处理(只显示前两段)
• 明确的隐私声明
• 符合相关法律法规要求
其他• 优化移动端显示
• 管理员访问自动排除

最后

希望大家顺手点点star

如果有使用问题或者开发建议,可在评论区提出 ::aru:cheer::


作者:xuan
个人博客:https://blog.ybyq.wang/
更多技术文章请到个人博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/pingmian/86240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯备赛篇(上) - 参加蓝桥杯所需要的基础能力 1(C++)

目录 一、(工具)DevC的安装和使用1.1 DevC介绍1.2 下载1.3 部分使用技巧1.3.1 快捷键介绍1.3.2 调试快捷键 二、第一个C程序2.1 基础程序2.2 main函数2.3 字符串2.4 头文件2.5 cin和cout初识2.6 名字空间 三、注释四、题目练习3.1 输出第二个整数3.2 字符…

Bugku-CTF-web(适合初学者)

今天刷了一下 Bugku-CTF-web 的1-10题,比较简单,比较娱乐,基本上看看源代码就可以了,非常适合初学者。能够学习到base64编码,unicode编码,dirb web目录遍历,SourceLeakHacker 备份文件遍历&…

【实时Linux实战系列】基于实时Linux的音频处理应用开发

在实时系统中,音频处理应用(如实时音频效果处理、语音通信等)需要低延迟和高精度的时间控制。实时Linux通过优化内核调度和提供高效的I/O操作,能够满足音频处理对实时性的严格要求。掌握基于实时Linux的音频处理应用开发对于开发者…

Linux中信号的三种产生方式

在 Linux 中,信号(Signal)是一种进程间通信的机制,用于通知进程发生了某种事件。理解信号的来源对于开发可靠、健壮的程序至关重要。本文将介绍三种常见的信号产生方式,包括:kill 命令、键盘输入&#xff0…

Android15启动icon界面的背景图颜色

Android15启动icon界面的背景图颜色 在一加Ace 5启动时有个图标在中间的&#xff0c;它界面的背景图是灰色的&#xff0c;不好看&#xff0c;想改为白色。 解决方案&#xff1a; 在app下的AndroidManifest.xml文件的<application这个标签的android:theme增加&#xff1a;…

用福昕阅读器打开pdf文件,整个程序窗口自动缩小的问题

原因&#xff1a; 这个问题&#xff0c;其实是pdf自带了某个缩放比例&#xff0c;与窗口的比例不一致&#xff0c;因此会进行窗口缩放。 解决方法: 用acrobat&#xff08;我没有找到如何用福昕阅读器进行设置的方法&#xff09;&#xff0c;打开【文档属性】&#xff0c;然后打…

Windows环境Browser-Use平台部署与AI自动化远程访问实现过程

文章目录 前言1. 安装Ollama2. Gemma3模型安装与运行3. 虚拟环境准备3.1 安装Python3.2. 安装conda 4. 本地部署Brower Use WebUI4.1 创建一个新conda环境4.2 克隆存储库4.3 安装依赖环境4.4 安装浏览器自动化工具4.5 修改配置信息 5. 本地运行测试6. 安装内网穿透6.1 配置公网…

React + Umi(Umijs/Max) 搭建项目及配置

文章标题 01 环境准备02 快速构建2.1 参数选项2.2 umix 还是 umijs/max2.3 使用 pnpm &#xff08;推荐&#xff09;2.4 使用 npm 和 yarn2.5 启动项目2.6 启用 Prettier&#xff08;可选&#xff09;2.7 打包部署发布 03 Tailwind CSS 插件&#xff08;可选&#xff09;3.1 安…

JDK 17 中 java.lang.System 常用方法及应用场景

概述 java.lang.System 在 JDK 17 中依然是最核心的系统交互类之一。以下是针对 JDK 17 的常用方法详解&#xff0c;包含新特性和最佳实践。 一、标准 I/O 流&#xff08;更新至 JDK 17&#xff09; 1. 控制台输出 // 传统输出方式&#xff08;仍然可用&#xff09; System…

深入探究Manticoresearch Java API:新增与查询文档实战

引言Java 项目集成 Manticoresearch新增文档操作查询文档操作 SQL 查询API 查询 总结 引言 Manticore Search 是一个使用 C 开发的高性能搜索引擎&#xff0c;创建于 2017 年&#xff0c;其前身是 Sphinx Search。它显著改进了 Sphinx 的功能&#xff0c;修复了数百个错误&am…

Linux远程机器无法连接-------解决方案

笔者这几天碰到linux机器远程ssh 无法连接的情况 背景分析 笔者在linux机器进行测试的时候&#xff0c;偶发突然无法连接机器&#xff0c;如下图所示&#xff0c;vscode的远程连接也无法进行。 telnet也无法登录。 解决方案 笔者的登录场景是这样的&#xff0c;所以怀疑是…

网络模型中,应用层支持什么协议

在网络模型中&#xff08;无论是 OSI 七层模型 还是 TCP/IP 四层模型&#xff09;&#xff0c;应用层 是最顶层&#xff0c;直接为用户或应用程序提供网络服务接口。它支持的是各种具体的应用程序协议&#xff0c;这些协议定义了特定类型应用程序如何进行通信和数据交换。 以下…

比特币序数理论与铭文的终极指南

引言&#xff1a;比特币网络的意外趋势 去年&#xff0c;比特币网络上出现了一个意外的趋势——这一趋势令许多比特币纯粹主义者感到愤怒和惊讶&#xff0c;但同时也在更广泛的加密货币社区中点燃了对这个行业最古老、最安全区块链的希望和热情。 这个趋势涉及铭文&#xff0…

C/C++ DLL 动态链接库的开发与示例详解

简介 介绍 QT6&#xff0c;DLL 动态链接库的开发&#xff0c;开发示例 详细 DLL 入口函数 DllMain 是每个 dll 的入口函数&#xff0c;可以写&#xff0c;也可以不写&#xff0c;不影响其他库函数运行。如果使用此函数需要包含头文件#include <objbase.h>。 BOOL WI…

在 CentOS 7 上基于 Docker 的 LNMP 部署 Hexo

时间起因是因为之前BLOG没有备份数据都丢失了,今天在和朋友聊天的时候讨论到到底使用Hexo还是用Halo?最后还是想熟悉下这两种博客的架设和部署方式,每次部署都有各种不同的问题,旨在提升自己的学习认知。以此有机会得到更多大佬们的指导~ 因为我是在 CentOS 7 服务器上使用…

《Go小技巧易错点100例》第三十六篇

本期分享&#xff1a; 1.使用gops获取正在运行的Go进程 2.将静态文件编译到Go程序中 3.Go语言通过多重赋值实现变量值交换 使用gops获取正在运行的Go进程 在 Go 语言开发中&#xff0c;进程诊断和性能分析是保障服务稳定性的关键环节。Google 开源的 gops [https://github.…

Idea新UI

轻松上手Idea新UI&#xff1a;开启高效编程新体验 在软件开发领域&#xff0c;IntelliJ IDEA一直以其强大的功能和出色的性能深受开发者喜爱。而其推出的new ui&#xff0c;更是为我们带来了全新的操作体验&#xff0c;进一步提升了开发效率。今天&#xff0c;就来详细讲讲如何…

QML\QtQuick\QtWidgets适合的场景及其优缺点

在Qt框架中&#xff0c;QML、QtQuick和QtWidgets是三种不同的UI开发技术&#xff0c;各有其适用场景和优缺点。以下是它们的对比分析&#xff1a; 1. QtWidgets 适用场景&#xff1a; 传统的桌面应用程序&#xff08;Windows/macOS/Linux&#xff09;。 需要复杂控件&#xf…

Spring Boot 2.x 项目搭建 (二)

因为Spring Boot 2.x 项目搭建 &#xff08;一&#xff09;访问 start.spring.io 或通过IDE&#xff08;如IntelliJ IDEA&#xff09;的Spring Initializr向导创建项目时&#xff0c;只能使用jdk17以上的版本&#xff0c;这里我需要兼容老项目需要JDK1.8&#xff0c;所以进行一…

Python 前端框架/工具合集

前言 Python 本身并不是为前端开发而设计的语言&#xff0c;但确实有一些 Python 框架可以“变相”地用于前端开发&#xff0c;比如生成 HTML、控制前端页面逻辑&#xff0c;甚至可以直接运行在浏览器中。 目标 本文将对常见的使用python实现的前端框架&#xff0c;先做一个…