Orien Daily


📚 「にあたって」不是「前に」:进入关键阶段时才用
很多人写研究计划或技术文档时,会把「〜にあたって」和「〜前に」混着用,结果句子看起来像日语,但语气不对。比如「実験を始めるにあたって、GPUを起動した」是自然的,因为这里强调的是“开始实验这个重要节点”,不是单纯时间先后;但如果你只是想说“提交之前检查一下”,硬换成「にあたって」就会显得太重。
「〜にあたって」常见在项目启动、制度变更、研究实施、系统迁移、论文投稿这类“正式、关键、带准备意味”的场景。它不只是“在……之前”,而是“值此……之际,要特别做某事”。所以它和「〜前に」的区别在于:「前に」只管时间顺序,范围最广;「にあたって」带有郑重感,也默认后项是为这个重要动作做准备、说明方针或提醒注意点。再往近处比,它和「〜際に」也不一样。「際に」只是书面一些的“在……的时候”,不一定强调这是重大节点;「にあたって」则更像“在着手这个阶段之际”。
比如这几个句子就很适合直接套用。
研究計画を提出するにあたって、先行研究との違いを一文で説明できるようにしておく。
在提交研究计划时,要先准备好能用一句话说明自己和先行研究的区别。
システム移行にあたって、既存ユーザーの認証情報をそのまま引き継げるかを最優先で確認した。
在系统迁移之际,我们优先确认了现有用户的认证信息能否原样继承。
本手法を実装するにあたって、計算量と再現性の両方を評価対象に含めた。
在实现这套方法时,我们把计算量和可复现性都纳入了评估对象。
💡 記憶ポイント:要写“关键阶段开始时的准备、方针、注意事项”,用「〜にあたって」;如果只是普通的“做A之前做B”,用「〜前に」就够了。别把它用在太轻的小动作上,比如「昼ご飯を食べるにあたって」这种就别写,太过头了。关键记忆点可以压成一句:
🔐 JWT 算法混淆:为什么“会验签”也可能被绕过
很多人第一次接触 JWT(JSON Web Token)时,会把它理解成“服务端签了名,客户端带回来,后端验一下就安全了”。问题就在这里:如果验证代码先相信了令牌头里的alg字段,再决定用什么方式验签,攻击者就有机会把“安全设计”变成“自己选规则的考试”。这类问题通常叫算法混淆,最经典的是把原本应该用非对称签名的 RS256,骗成用对称签名 HS256。服务端如果错误地把公开的 RSA 公钥当成 HMAC 密钥去验,攻击者就能自己伪造一个“合法”令牌,因为公钥本来就是公开的。更糟的是,早年还有一些库接受alg=none,等于告诉服务端“这张票没签名,但你也别查了”。
它为什么会发生,不是因为密码学本身玄学,而是因为实现者把“算法选择权”交给了不可信输入。JWT 的 header 是令牌的一部分,本来就可以被用户改,后端却常常写成“你说你是 HS256,那我就按 HS256 验;你说你是 RS256,那我就按 RS256 验”。这就像门卫先问来的人“你想按什么规则进门”,然后真的照做。现实里这种 bug 常出现在统一认证网关、微服务中间件、自己封装的登录组件里,尤其是“支持多种算法、多个 issuer、多个环境”的代码,分支一多,垃圾就冒出来了。
真正的防法很直接:算法不能从 token 里“动态信任”,而要由服务端配置写死。某个 issuer 只允许某一种算法,某把 key 只配某一种用途,验签库也要显式指定允许列表,而不是吃默认值。再往前一步,连kid(key id)也不能无条件信任,否则又会出现路径穿越、远程取 key、缓存投毒这种后续事故。简单说,token 可以携带“声明”,但不能决定“规则”;规则必须在服务端。
🧪 你在审计一个内部 API 网关,发现它会先解析 JWT header,再根据其中的alg决定调用 HMAC 还是 RSA 验签;而且 RSA 公钥能从公开的 JWK endpoint 拿到。现在系统原本使用 RS256。最危险的攻击路径是什么?alg
💡 核心记忆:JWT 的 header 可以看,但绝不能信,验签算法和密钥类型必须由服务端预先绑定,不能让令牌自己决定。
📸 @30R9gmaMUy3guDJ
村上宗隆、本日は3打数1安打!
①四球②右安③中飛④中飛
試合もホワイトソックスが0-10で大敗
ガーディアンズに並ばれる
【シーズン成績】
打率.233 20本塁打 42打点 OPS.906
📷@MLB #村上宗隆
原文 #MLB日本選手
🔑 为什么 SSH 要记住服务器指纹:known_hosts 不是多余的麻烦
很多人第一次用 SSH 连服务器,都会看到那句有点吓人的提示:The authenticity of host ... can't be established。看起来像是系统在找你麻烦,其实它做的是一件很硬核但很朴素的事:防止你连上的根本不是那台服务器。
SSH 不是只负责“加密”,它还要先确认“对面是谁”。如果没有这一步,中间有人冒充服务器,你照样会把密码、命令、文件都交出去。于是 SSH 设计了 host key,也就是服务器自己的长期身份公钥。你第一次连接时,客户端还不认识它,所以会把这个指纹展示给你;一旦你确认并接受,它就被记到~/.ssh/known_hosts里。下一次再连,SSH 会先检查:这台机器现在给出的指纹,和上次记住的是不是同一个。
这就是known_hosts的意义。它不是地址簿,而是“我以前见过这个人,而且我记得他的脸”。如果某天同一个域名、同一个 IP,突然拿出一把不同的 host key,SSH 就会直接报警。很多新手这时会觉得“删掉 known_hosts 再连不就好了”,这动作能解决表面错误,但也顺手把安全检查废了。更糟的是,你会分不清到底是服务器真的重装了,还是有人在中间拦你。
这里的设计很有意思:SSH 不相信网络路径,只相信上一次确认过的身份。网络里的 IP 可以变,DNS 可以改,路由可以绕,但只要 host key 没变,客户端就知道自己还在和原来的那台机器说话。也正因为这样,云服务器重建、容器宿主替换、负载切换时,最容易踩的坑就是“主机变了,但你还拿旧指纹去比”,于是出现经典的REMOTE HOST IDENTIFICATION HAS CHANGED!。这不一定代表被攻击,但它一定代表“身份发生了变化,先别装作没看见”。
真正靠谱的做法不是无脑删记录,而是先确认这次变化是不是合理的。比如服务器是否刚被重装,是否换了实例,是否确实更新了 host key。确认无误后,再用ssh-keygen -R 主机名或IP删除旧记录,重新接受新的指纹。顺序不能反,不然你是在把报警器当噪音关掉。
🧪 课后一题:如果你连server.example.com时,SSH 提示 host key 变了,但运维同事说“昨天刚把这台机器重装了”,这时候最正确的动作是什么?
💡 易混淆点:known_hosts记录的是“服务器身份”,不是“你自己的登录密钥”;它和authorized_keys不是一回事,前者防你连错人,后者决定你能不能登录。
每日推歌已发送

📸 @idadaichi
所属で剣道!胴垂つける前から汗だく🥵🫠💦という暑さの中,七七四二の偶数w今日の反省は小手…出小手が半足深い,そして右手で引き上げる動作が目立つとのご指摘…結局,引き出せてないから無理してお相手の竹刀を越えようとする結果なんだろうな🤔面では両七先生からウンウン頂き嬉しい😊 #剣道
原文 #剣道
📸 @shinji_marosan ×2
皆様こんばんは😊
今日(7/22)夜 出稽古
2026年178回目
来年1月に1級審査を受ける中学生に
木刀による剣道基本技稽古法 かかり手を
指導
面つけての稽古
8月昇段審査受審する大人組で面打ち稽古と立合稽古
特に指摘もなく、今のままでいいみたい
でも、面だけというのもどうなんだろう #剣道
原文 #剣道


📸 @OOkgood40552 ×2
Lia's reaction when she saw That was my reaction when I saw my bias from that close distance 😭 #yeji
原文 #黄礼志
