WordPress + Nginx 客户端证书验证的坑

我始终在关注各种能够提升访客访问本站点体验以及安全性的优化措施。继去年底将博客接入 Cloudflare 后,在最近一段时间本站又将博客源服务器进行了扩容升级。借着本次升级,我们配置了 Nginx 中一项被称为客户端证书验证的安全措施,随之踩了不少坑,遂撰本文以分享,希望能帮助更多人。

tl;dr不要为 WordPress 站点开启源服务器上的客户端证书验证功能

惠普的“打印即服务”——HP Instant Ink

来新加坡的这段时间,因为平常有打印需求,所以购买了一台惠普 HP DeskJet 2722e All‑in‑One Printer 打印机。这款在官网上标价 69 新加坡元(约合 50 美元)的打印机具备喷墨打印、扫描与无线打印等基本功能。但最令我感兴趣的是随附的名为“Instant Ink”的订阅服务,这款能够以订阅的方式获得邮寄墨盒的服务在网上能搜索到的中文简介和使用体验较少,遂撰写本文以记录。

为初创团队审计代码五年——我从中学到的

本文翻译自《Learnings from 5 years of tech startup code audits》一文,译文标题略微进行了改动;原作者 Ken Kantzer 在软件工程领域经营多年,对安全性问题有着深入思考;感谢 Twitter 用户 @greatested 分享了文章英文版本

我在 PKC 的那段时间,我们的团队做了超过二十次的代码审计,其中大多数,是为那些已经完成 A 或者 B 轮融资的初创企业进行的(经常是当这些企业已经渡过了市场契合度的挑战,手里有现金并且意识到最好应该深入研究安全性的时候)。

这是一项引人入胜的工作——我们跨越广泛的领域,并且深入到了各种堆栈和架构的组合。我们发现了从“有点意思的”一直到“灾难性的”各种安全问题。并且我们也有机会与高级研发领导以及 CTO 进行广泛交谈,了解他们在开始拓展时遇到的各种工程性和产品上的挑战。

揭幕无图型设计的神话

本文翻译自《Debunking the Myth of Going Schemaless》一文,原作者为 John Page,他是一名苏格兰人,现在 MongoDB 担任工程师;本篇文章的英文原文版本由 MongoDB 赞助

译者按

在面向有状态(Stateful)应用程序开发的过程中,通常会使用数据库对程序的状态进行持久化存储。与关系型数据库管理系统(RDBMS)使用前需要定义数据库图型(Schema)不同,诸如 MongoDB 在内的一系列数据库是无图型(Schemaless)的。开发者基于无图型数据库设计时,通常会有一些使用误区。本文原文作者从一个概括的角度讨论了这些误区,并提供进行无图型设计时的最佳用例。

Wasabi 对象存储服务使用实践

先前一段时间,我在浏览 Cloudflare 带宽联盟页面的时候了解到了 Wasabi。Wasabi 是一家提供对象存储服务的企业。与其他竞争对手(通常是大型云服务提供商)不同的是,Wasabi 的对象存储服务提供了极其简单且可预测的价格模型。根据官方网站的宣传,Wasabi 对象存储服务的使用成本要比 AWS S3 低 80% 左右。

先前在考虑如何托管博客图片、搭建网盘以及存储备份/日志数据时都考虑过各个云服务商的对象存储服务,但是复杂的存储层级和不可预测的计费模式均成为了当时选择的阻碍。了解到 Wasabi 提供的服务后,我花了一些时间对其进行调研使用,遂撰写本文,以向大家分享 Wasabi 对象存储服务的使用实践。

个人用户区块链钱包选择指南

最近有好友向我聊起希望在未来一段时间配置数字资产,询问我如何选择适合自己的区块链钱包——网上搜索到的大多数消息要么属于推广,要么已经过时。笔者遂撰写本文,将自己的一些观点分享出来,希望帮助更多的入门用户。

使用 GitHub Actions 构建 CI/CD 流程

GitHub Actions 是一种自动化软件开发工作流的方式,与 GitHub.com 深度集成。开发人员可以通过配置 GitHub Actions 来实现基于事件触发的自动工作流,比如,当有任意用户向 master 分支提交代码时,自动执行一遍完整的单元测试流程等。在本文中,我们展示如何通过配置 GitHub Actions 实现 CI/CD 流程。

一张流程图,左侧部分为一个事件,中间部分是执行器 1,右侧是执行器 2
来自 GitHub Docs 的插图,展示了 GitHub Actions 是基于事件(Event)触发的自动化工作流的抽象