Typecho_Common::fixHtml 函数处理自闭合标签时的问题

起因

在折腾 icarus 移植主题的时候,想到给文章摘要增加一个“保留摘要样式”的选项(Typecho 默认的摘要摘取策略是:去除所有的 HTML 标签,只保留文本内容)。原以为在 strip_tags 函数调用前做一个判断就可以了,但这样做以后,发现在摘要的末尾莫名地出现了诸如 </br> </img> 等奇怪的标记。为此稍微折腾了一番,发现了 Typecho_Common::fixHtml 函数的一个处理自闭合标签的 Bug。手动 Patch 了一下,本打算来一个 Pull Request,最后发现开发版已经修复了这个 Bug 了(但正式版 17.10.30 尚未更新,因此此 Bug 截至目前(2019/2/6)仍是尚未修复的状态,在开发主题、插件时需要注意一下)。这里整理了一下当时的一些笔记。

Typecho 主题开发笔记:基本篇

一时起意,想把 Hexo 主题 icarus 搬运到 Typecho 这边来。过程之中踩了一些坑,总结了一些经验,在这里记录和分享一下。

phpStudy 默认配置引发的血案

引言

在一些简单的项目、测试环境或是 demo 当中,有时为了方便,会使用一些软件包、自动安装脚本进行简单的 Apache / Nginx + PHP + MySQL 的环境搭建。但必须要注意到的是,软件包提供的环境一般只保证可用性——即安装完毕以后一般能直接放入项目文件并运行起来,而在安全性方面,默认的配置并不能给予充分的保证。

利用 general log 突破 MySQL 的 secure-file-priv 限制

前言

利用 MySQL 进行文件(特别是木马文件)的写入,常常会用到 SELECT INTO FILE 这样一条语句,但是这条 SQL 语句的可写出路径会受到 secure-file-priv 设置项的限制。在朋友一次服务器被挂马的分析中,发现了一个利用 MySQL 的 general log 进行文件写入的操作。