西京刀客
AI,Crypto/Web3.
A bug bounty hunting and a lot of coding is my passion!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
APISIX 限流插件 `limit-count`
APISIX限流插件limit-count摘要: 该插件基于固定窗口算法实现请求速率限制,支持配置时间窗口内最大请求数(count),超限返回429状态码。核心特性包括: 支持本地内存/Redis集群存储计数器,通过policy配置选择存储策略; 灵活定义限流维度,可通过key_type+key组合实现基于IP/用户/Token等维度的精细化控制; 提供多路由共享配额(group)和节点间状态同步能力; 适用于防刷/API调用控制等场景,但不适合精确计费或严格平滑限速需求(推荐使用limit-req插件)。原创 2026-05-26 20:51:10 · 144 阅读 · 0 评论 -
keycloak创建client 接口以及相关配置说明
在企业级身份认证体系中,Keycloak 是目前最主流的开源 IAM(Identity and Access Management)解决方案之一,支持 OAuth 2.0、OpenID Connect(OIDC)和 SAML 2.0 协议。Client(客户端)是 Keycloak 中的核心资源,代表一个接入认证体系的应用程序或服务。在调用任何 Admin API 之前,需要先获取具有管理权限的 Access Token。,然后对这个用户分配角色,这样签发出来的 Token 里就会携带对应的权限信息。原创 2026-04-10 22:43:28 · 270 阅读 · 0 评论 -
Apache APISIX CORS 插件来处理跨域问题 |allow_credential: true配置约束
在 Apache APISIX 中同时配置 allow_origins_by_regex 和 allow_credential: true,却未显式设置 allow_origins 时,会遇到一个隐蔽问题:OPTIONS 预检请求返回 200,但没有任何 CORS 响应头。根因是 allow_origins 默认值为 *,Schema 校验阶段检测到 allow_credential: true 与 * 冲突后直接跳过整个插件,且不会因为配置了 allow_origins_by_regex 而豁免。本文通过原创 2026-03-26 09:42:29 · 223 阅读 · 0 评论 -
http协议header头之X-Forwarded-For (XFF) | APISIX 移除X-Forwarded-For
(简称 XFF)是一个 HTTP 请求头,用于在经过代理或负载均衡时记录请求的完整链路 IP。原创 2026-03-16 22:42:47 · 211 阅读 · 0 评论 -
APISIX 中轻量级的“探针“之serverless-pre-function + serverless-post-function
serverless-pre-function + serverless-post-function 是 APISIX 的轻量级"探针"组合,本质是在请求生命周期的两端注入自定义逻辑。APISIX 的 serverless-pre-function 和 serverless-post-function 两个插件,允许在路由上直接注入 Lua 代码,零侵入地完成网关层诊断。假设你有一个电商平台,支付回调接口 /api/payment/callback/* 近期频繁超时,上游是第三方支付网关,无法修改其代码。原创 2026-03-16 09:26:25 · 102 阅读 · 0 评论 -
APISIX vars 条件匹配:从路由冲突到精准分流 |vars 负向匹配实践
在 APISIX 网关中,当多条路由的 URI 存在通配重叠时,仅靠 priority 字段往往无法解决匹配冲突。这是因为 APISIX 采用"约束维度优先"的匹配机制——拥有更多匹配条件(如 hosts + uri)的路由会优先于仅有 uri 的路由被命中,priority 数值只在同维度路由间生效。本文通过实际案例,剖析了路由优先级的真实计算逻辑,并介绍了 vars 条件的负向匹配能力。通过在高优先级通配路由上添加 vars 正则排除条件(如 ["uri", "!", "~~", "^/specific原创 2026-03-15 21:12:02 · 104 阅读 · 0 评论 -
clickhouse判断用户有没有某行为-LIMIT 1 BY 和 SELECT DISTINCT
需求是什么?│├── 只判断 "有没有" ──────────→ LIMIT 1 BY ✅(最优) │├── 去重列表(不关心行内容)──→ 两者皆可,LIMIT 1 BY 略优│├── 取最早/最晚一条记录 ────→ GROUP BY + min() /max() ✅│├── 统计数量/求和/平均值 ───→ GROUP BY + 聚合函数 ✅│└── 每组取 TopN ───────────→ LIMIT N BY + ORDER BY(注意排序开销)| 场景 | 推荐写法 |原创 2026-03-13 22:35:57 · 121 阅读 · 0 评论 -
Cookie 作用域-解决 www 与非 www 域名的 Cookie 共享问题(Domain 与 SameSite 属性区别和作用机制\ ORY Kratos Cookie 配置实践)
围绕 example.com 与 www.example.com 之间 Cookie 不共享导致的重复登录与第三方回调会话丢失问题,提出两类核心解决方案:一是通过选择主域名并对另一域做 HTTP 301 重定向以统一入口、简化管理并兼顾 SEO;二是通过正确设置 Cookie 的 Domain 与 SameSite 属性来实现所需的跨子域共享与跨站请求发送控制。原创 2026-01-26 06:30:13 · 96 阅读 · 0 评论 -
Ory kratos、Hydra快速开始(一)-基础(邮箱注册和登录流程)
本文介绍了 Ory Kratos 的基本概念与架构,重点讲解了与 Ory Hydra 的配合方式、Kratos 的服务与设计模式(依赖注入、分层、路由与 Driver 容器)以及基于 Flow 的邮箱注册与验证完整流程(包括表单初始化、密码策略、钩子、异步 Courier 邮件发送与验证码/链接验证)原创 2026-01-11 21:56:16 · 331 阅读 · 0 评论 -
ClickHouse 大数据量场景下执行 ALTER TABLE UPDATE问题(ClickHouse 里,数据最好“只进不出,只增不改”) | ReplicatedReplacingMergeTr
摘要: ClickHouse执行ALTER TABLE UPDATE在大数据量场景下存在显著风险:1) 资源消耗高,会重写相关数据part,导致I/O、CPU和内存压力骤增;2) 异步执行耗时可能达数小时;3) 影响查询性能且无法回滚。最佳实践包括:优先使用ReplacingMergeTree或CollapsingMergeTree追加数据而非直接修改;必须更新时按分区/批次操作;通过系统表监控mutation进度;高风险操作前备份数据或采用影子表切换方案。核心原则是避免OLTP式行级更新,利用ClickH原创 2026-01-03 11:06:15 · 219 阅读 · 0 评论 -
APISIX Authz-Keycloak插件超时问题:lazy_load_paths配置从懒加载到静态权限映射
lazy_load_paths 控制资源是 动态加载 还是 静态配置动态模式灵活但有超时风险;静态模式性能更好、更可靠推荐生产环境使用 静态映射(lazy_load_paths=false),同时在 Keycloak 中维护完整的资源与策略定义。原创 2025-11-05 09:39:31 · 199 阅读 · 0 评论 -
何时在 ClickHouse 中使用 ARRAY JOIN
ARRAY JOIN 子句. 对于包含数组列的表,将初始列的每个单独数组元素生成一行的新表是一个常见操作,同时其他列的值会被重复。原创 2025-10-25 15:37:44 · 281 阅读 · 0 评论 -
clickhouse副本只有一个节点有数据原因
ClickHouse单分片三副本集群数据同步问题排查 当ClickHouse集群出现单分片三副本中仅一个节点有数据时,主要排查方向包括: 确认使用ReplicatedMergeTree引擎(只有该引擎支持副本) 检查各副本表结构一致性 排查数据导入时机(普通表转复制表时数据不会自动同步) 通过system.replicas表检查副本状态、队列情况 验证ZooKeeper连接是否正常 关键特征:ReplicatedMergeTree采用多主架构,依赖ZooKeeper实现写入同步,但查询时不依赖;数据以Blo原创 2025-10-22 09:37:24 · 371 阅读 · 0 评论 -
什么是 Apache Parquet?ClickHouse 与 Parquet 的交互方式/安装 clickhouse-client
Parquet 是一种开源的列式存储格式,专为大数据处理和分析任务设计。它是由Apache软件基金会开发的,并且是Hadoop生态系统的一部分。自2013年首次引入以来,Apache Parquet作为一种免费和开放源代码的存储格式被广泛采用。原创 2025-10-09 21:28:40 · 343 阅读 · 0 评论 -
apache hop 不能处理clickhouse 数组格式怎么办?
Hop 只负责生成批次参数和调度,实际迁移用 ClickHouse 原生 SQL。既然 Hop 的 JDBC 无法处理 Array(String),那就绕过它!总结:主要区别在于数据是否经过 ETL 工具中转以及对复杂类型的处理能力。🎯 方案 :字段改为 String,存储 JSON(ETL 友好)✅ 经常使用 ETL 工具(Hop, Kettle, NiFi)Hop 在这个场景下无法使用,这是 JDBC 驱动的限制!✅ 性能最优(ClickHouse 内部处理)步骤 3:配置 “执行 SQL 脚本”原创 2025-10-06 19:20:26 · 345 阅读 · 0 评论 -
keycloak redirect_url重定向配置
Valid Redirect URIs (有效的重定向 URI): **这是最重要的一个配置**。 它告诉 Keycloak **哪些 URL 是允许认证成功后重定向到的**。 如果 Keycloak 发现重定向的目标 URL 不在这个列表中,就会拒绝重定向,导致错误。原创 2025-09-07 23:15:11 · 386 阅读 · 0 评论 -
ClickHouse 中的物化列与物化视图
在 ClickHouse 里,“物化”指的是把计算结果提前算好并持久化存储,以换取查询时更快的读性能。两种常见机制是:物化列(Materialized Column)与物化视图(Materialized View)。它们的作用、使用方式和适用场景不同。原创 2025-09-06 16:08:50 · 276 阅读 · 0 评论 -
ClickHouse 分片、 Distributed 表、副本机制
摘要:本文介绍了ClickHouse的分片与Distributed表核心概念,包括分片、本地表、分布式表及集群配置等。重点阐述了典型生产架构中2分片×2副本的部署方式,ReplicatedMergeTree引擎的副本机制及扩容再均衡方法。分析了分布式表的读写行为,提供了分片键设计建议,并列举了常见问题排查方法,强调使用ON CLUSTER执行DDL以避免表结构不一致问题。全文150字。原创 2025-09-04 21:17:07 · 522 阅读 · 0 评论 -
ClickHouse中的ON CLUSTER关键字
摘要:ClickHouse中的ON CLUSTER关键字用于在集群环境中执行分布式DDL操作,它与ReplicatedMergeTree引擎配合使用,实现跨节点的数据管理。ON CLUSTER通过分布式DDL队列将操作广播到集群所有节点,确保一致性,避免手动逐节点执行。查询数据时不使用ON CLUSTER,而是通过Distributed引擎自动分发查询。使用时需注意路径占位符替换问题,并可通过system.clusters和distributed_ddl_queue监控集群状态。该功能显著简化了集群管理,提原创 2025-09-02 04:44:32 · 386 阅读 · 0 评论 -
开源 OIDC(OpenID Connect)身份提供方(IdP)、iam选型
Keycloak功能全面但较重,ORY Hydra轻量但需要自行构建UI,Dex适合Kubernetes环境,Gluu适合企业级需求等。原创 2025-05-25 08:14:33 · 769 阅读 · 0 评论 -
keycloak获取用户信息(go实现获取keycloak用户信息)
本文介绍了如何使用Go语言通过gocloak库获取Keycloak用户信息。首先展示了User结构体定义,包含ID、用户名、邮箱、角色等字段。然后提供了两个关键代码示例:1) 初始化gocloak客户端并获取管理员令牌;2) 通过用户ID查询用户详细信息并打印基础信息和属性。文章重点说明了如何连接Keycloak服务器、获取访问令牌以及查询特定用户数据,所有字段均为指针类型以区分未设置和零值情况。这些代码片段可直接用于集成Keycloak用户管理功能到Go应用中。原创 2025-05-24 16:22:40 · 376 阅读 · 0 评论 -
keycloak配置选项之Unmanaged Attributes(未管理属性)(通过 Protocol Mapper 将用户属性映射到令牌(如 Access Token)中)
Keycloak 的设计逻辑Keycloak 默认只管理 基础用户属性(如 username、email、firstName 等)。自定义属性需要明确赋值,否则系统会视为“不存在”。Protocol Mapper 负责将 已存在的用户属性 映射到令牌声明。原创 2025-04-29 23:41:01 · 374 阅读 · 0 评论 -
开源身份和访问管理方案之keycloak(四)Admin REST API(server_admin)
Keycloak 附带一个功能齐全的管理员 REST API,具有管理员控制台提供的所有功能。原创 2025-03-11 00:38:03 · 1449 阅读 · 0 评论 -
开源身份和访问管理方案之keycloak(三)keycloak健康检查(k8s)
Keycloak 内置了对健康检查的支持。本指南介绍如何启用和使用 Keycloak 运行状况检查。 默认情况下,Keycloak 运行状况检查在管理端口 9000 上公开。原创 2025-04-06 09:04:52 · 1147 阅读 · 0 评论 -
开源身份和访问管理方案之keycloak(二)管理员引导和恢复
管理员引导和恢复原创 2025-04-09 00:10:18 · 1405 阅读 · 0 评论 -
开源身份和访问管理方案之keycloak(一)快速入门
Keycloak 是一种开源**身份和访问管理**。它为应用程序添加了身份验证,并以最少的工作量保护服务。此外,它还提供用户联合、强身份验证、用户管理、精细授权等。原创 2025-02-09 23:20:32 · 3906 阅读 · 0 评论
分享