惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
D
Docker
博客园 - 司徒正美
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
U
Unit 42
J
Java Code Geeks
A
About on SuperTechFans
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
T
Threatpost
H
Hacker News: Front Page
G
Google Developers Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
S
Secure Thoughts
GbyAI
GbyAI
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog

两双筷子

Seven Player:Windows上播放115网盘视频的增强工具 CDN 盗刷也是被我遇上了 博客五年 1Panel 部署 FastAdmin 管理端访问 302 解决方案 解析到本地127的神奇域名 Typecho 多吉云上传插件 极简 Docker 入门笔记 SQLite + zstd:定时任务日志压缩优化实践 离线授权码设计思路 海南环岛2:中线+东线 Typecho 垃圾评论过滤插件
多用户 PassKey 认证插件
无名氏 · 2026-03-08 · via 两双筷子

@两双筷子还是建议检查一下 GPT 实现的那个 challenge 验证,是硬编码的验证,也就是 GPT,硬编码了 OPENSSL_ALGO_SHA256 实际上只能处理 RSA 签名,对于目前最主流的 ES256 (椭圆曲线) 签名,在底层逻辑上是不匹配的。并且还多处用 @ 抑制 PHP 和 OpenSSL 报错,看一下你本地的公钥的算法,建议一下,或者是 JavaScript 里面有没有声明服务器支持的算法。以及这个插件硬编码了登录的 session 是有问题的,Typecho 登录本身是防御 session 重放的,但是这个硬编码不行,你可以参考另外一个 Passkey 插件,实现的就很好,就是:
// 使用 Typecho 标准的 simpleLogin 方法
$userWidget = \Widget\User::alloc();
$expire = 30 * 24 * 3600;

if (!$userWidget->simpleLogin($user['uid'], false, $expire)) {
error_log('[Passkey][ERROR] Failed to set login state for user: ' . $user['uid'] . ' - ErrCode: ' . self::ERR_UNKNOWN);
$this->error('登录失败,请重试', self::ERR_UNKNOWN);
return;
}
以及这个解码的时候,如果构造一个循环的证书套,这个没有限制解码层数,会把服务器的计算资源耗尽的。