距离微软正式发布.NET 8.0已经有一段时间,这也是新的LTS(长期技术支持)版本,这个版本更新了多个新的特性,并且提升了性能,似乎每一代框架发布总是能比上一代提升不少性能。近期抽空将本网站平台适配到了.NET 8.0,暂时没有发现什么Breaking Changes,一切很平滑,除了升级到.NET 8.0外,还对以下特性进行了修改: 1. 软件层面 1.1 验证码模块 验证码(CAPTCHA)又称全自动区分计算机和人类的图灵测试,之前本站验证码使用了两套:一套是Edi Wang开发的图形化验证码,主要用在评论发布页面;另一套是Google的reCAPTCHA,主要用在联系表单。但是这两套验证码都存在问题,其中Edi Wang的图形验证码使用了传统的数字字母图片,为了避免OCR还加了变形扭曲,在Web 2.0兴起的年代,这种方法足够抗击机器人和爬虫的不法攻击,随着人工打码平台和 …

很长时间没有更新网站内容,不过还是抽出时间对网站架构进行了升级。 主要升级点 将网站平台由.NET 6.0迁移至.NET 7.0,这次迁移是平滑的,没有Break changes。 数据库也升级至PostgreSQL 15。 之前网站是基于Docker容器部署的,后来了解到Podman这个最佳替代,于是将Docker部署迁移至Podman部署。 编写了网站引导脚本(Boot Script),在启动网站程序前执行自动化测试检测外部环境设施(数据库、消息队列、邮件系统、传输代理等)是否正常,测试通过后拉起网站程序。 全站迁移至Cloudflare CDN。 需要特别提出的 使用Podman部署,其好处是去中心化,Podman不像Docker一样有个守护进程,守护进程崩溃了所有Docker容器也会崩溃,Podman是Rootless的相比较而言会更加安全(Docker也有Rootless部署方 …

我的网站老访客可能会有印象,之前的联系表单是支持PGP/GPG加密正文的,后来使用ASP.NET重构后这一部分实现始终存在问题,判断可能是第三方库的BUG,一直没有再加上这个功能,最近该第三方库进行了升级,发现这个BUG已经修复了,于是在联系表单启用了PGP/GPG加密特性。 1 什么是PGP/GPG PGP/GPG虽然是两种写法,但实际上是一种东西,首先我们要介绍PGP(Pretty Good Privacy),这是一套消息加密、验证的技术,由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成,最早由菲利普·齐默曼(Philip R. Zimmermann)发明并应用于电子邮件安全隐私保障,可以这么说在没有PGP和TLS加密的时代电子邮件或多或少的在互联网上明文裸奔,而且被篡改的几率很大。PGP最初由Philip免费在互联网上发布,但其本人也因此违反了美国政府关于加密软件出口 …

从去年3月15日网站全新改版到现在整个系统(服务器、应用程序)已经迭代了N轮,重点还是解决访问速度的问题,为此没有新增加栏目,好在是docker部署所以大大减轻了运维负担,并且通过自主编译也让Web服务器程序集成了HTTP/3、WAF等扩展功能,针对jsDelivr国内镜像失效导致引用的第三方库CDN拖慢了网站速度的问题,现在中国大陆的访客流量会自动切换到Staticfile CDN,速度有了改善,其实对于第三方库的引用我一直比较保守,如果不是为了优先保障用户体验,我更倾向于将流量限制在本机上,目前所有第三方库均做了完整性校验和匿名跨域,第三方CDN除了可能探测到访客IP外应该不会再获取其他信息。 据威言威语讲目前网站算是恢复到一个正常能访问的水平,之前第一次访问的访客甚至会看着旋转的加载动画发呆(笑),以前一直受到缓存的影响(毕竟自己刷自己网站是最多的)没有感觉到这点,直到有一天向别人推 …

时光荏苒,也不知从什么时候开始,很多感慨时间的文章都喜欢以此作为开头,依稀记得的是这个词汇应该是学生时代课文中学会的,原谅我词汇的匮乏,但是时间真的过的很快,转眼独立个人建站也有近16个年头了,这16年也见证了互联网时代的发展,从刚开始学生党疯狂的申请各种免费域名和主页空间,然后挂上几个静态页面而沾沾自喜,到正儿八经的跑银行汇款注册了人生第一个域名,认认真真的边看书边用ASP搭建了第一个真正个人网站,再后来转学PHP并使用成熟的WordPress建立了博客,至此我开始了内容创建为主的博客历史,截止WordPress博客停用大概也有三百多篇文章了,其中部分文章也得到了网友们中肯的评价。 常常怀念过去的时光,有人说当你开始怀念的时候说明你已经老了,确实人总是对于失去的东西念念不忘往往又不能珍惜拥有的,回顾过往,尤其是那段无忧无虑的学生时代,那种可以泡图书馆,混迹各大技术论坛、通宵写代码,约同学 …


2021年以前发表的部分文章已经被存档到,这些文章将不再进行更新维护。