TGViewer
codedump的电报频道 codedump的电报频道 @codedump_notes · 5.5K subscribers
Post #67 945
#杂
Log4j2的漏洞风波已经过去一段时间了,今天有空想起来,找来分析漏洞的文章看了一下:

https://www.freebuf.com/vuls/316143.html

不太懂java,以前迫于生计写过小半年的java CRUD。但是看到这个分析的时候,第一感觉是:一个写日志的库,为什么要有访问远程网络的操作,而且还会从远程服务器上加载class文件到本地来执行?

我的理解:日志库只管往本地写文件就好了,再由其他同步文件的组件去同步日志到别的服务器,如何采集不是这个日志库关注的内容,而是采集组件的事情;退一步说,即便是需要把日志写到远程服务器,也只能是向远程写,而不是由远程的行为来影响自己(下载class到本地执行)。

这半年编码有一个感受:API接口就是系统的边界,如何定义接口,就是向调用者如何承诺自己对外能提供的功能。在我看来,Log4j2提供的接口,口子开得有点太大了。

Unix的一个设计哲学:“一个程序只做好一件事”,每个模块之间定义清晰自己的边界在哪里,一个模块的输出做为下一个模块的输入,配合着搭积木一般来工作,而不是把接口的边界放的很大,大而全什么都能做。
More from @codedump_notes
  1. Oct 3, 2026#数据库 使用Rust重写sqlite的公司turso,被superbase收购了:《Turso is joining Supabase to give every agent i…
  2. Sep 27, 2026#系统编程 讲解Go语言并发主题的小书:《Go concurrency distilled》
  3. Sep 22, 2026#开源软件 开源本来承载的主要任务之一就是赢得信任,智谱这一把开源不但没有赢取信任,反而让更多人感到了疑问,比如我。
  4. Sep 22, 2026#开源项目 #Rust #数据库 hawdb:Rust编写的嵌入式图数据库,用于Nowledge产品中管理本地图数据。
  5. Sep 21, 2026#Rust #人工智能 最近看了好几个Rust相关的新闻,比如: * Rust在微软内部升级为一级语言:《Guest Post: Rust Is Tier-1 Language a…
  6. Sep 19, 2026#人工智能 这个翻译可以说是 信达雅 了。
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →