mirror of https://github.com/halo-dev/halo
![]() #### What type of PR is this? /kind improvement /area core /milestone 2.4.x #### What this PR does / why we need it: 对访问量统计的 API 增加数据合法性校验 点赞同理 see #3530 for more details how to test it? 1. 访问文章和页面可以统计访问量 2. 使用访问以下 API 添加模拟使用错误数据不会在 Counter 模型添加记录 ```shell curl 'http://localhost:8090/apis/api.halo.run/v1alpha1/trackers/counter' -u 'your-username:your-password' \ --header 'Content-Type: application/json' \ --data '{ "group": "fake.halo.run", "plural": "posts", "name": "fake-name", "hostname": "localhost", "screen": "1920x1080", "language": "zh-CN", "url": "/archives/hello-halo", "referrer": "http://localhost:8090/" }' ``` 期望出现日志: ``` 2023-03-21T12:37:08.391+08:00 DEBUG 7036 --- [task-4] r.h.app.metrics.VisitedEventReconciler : Skip visit event for: GroupPluralName[group=fake.halo.run, plural=posts, name=fake-name] ``` 并且 ``` curl 'http://localhost:8090/apis/metrics.halo.run/v1alpha1/counters' -u 'your-username:your-password' ``` 不会出现上述错误数据的记录 #### Which issue(s) this PR fixes: Fixes #3530 #### Does this PR introduce a user-facing change? ```release-note 对访问量统计的 API 增加数据合法性校验 ``` |
||
---|---|---|
.github | ||
api | ||
application | ||
config/checkstyle | ||
console | ||
docs | ||
gradle/wrapper | ||
hack | ||
platform | ||
.dockerignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
OWNERS | ||
README.md | ||
SECURITY.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
settings.gradle |
README.md
Halo [ˈheɪloʊ],强大易用的开源建站工具。
快速开始
docker run \
-it -d \
--name halo \
-p 8090:8090 \
-v ~/.halo2:/root/.halo2 \
halohub/halo:2.2 \
--halo.external-url=http://localhost:8090/ \
--halo.security.initializer.superadminusername=admin \
--halo.security.initializer.superadminpassword=P@88w0rd
以上仅作为体验使用,详细部署文档请查阅:https://docs.halo.run/getting-started/install/docker-compose
在线体验
- 环境地址:https://demo.halo.run
- 后台地址:https://demo.halo.run/console
- 用户名:
demo
- 密码:
P@ssw0rd123..
生态
可访问 awesome-halo 查看已经适用于 Halo 2.0 的主题和插件,以及适用于 Halo 1.x 的相关仓库。
许可证
Halo 使用 GPL-v3.0 协议开源,请遵守开源协议。
贡献
参考 CONTRIBUTING。