PHP Versions Status 2021 文章中看到,目前的 PHP 已經有過半都已經更新到 7.x,是個不錯的消息。
版本大至相同後,社群開發的共用函式庫、PHP 核心較能將花的時間收斂起來用在刀口上,遇到問題在網路上也比較容易找到解決方法。
接下來就看 8.x 的規範定下來後,大家慢慢把程式碼升上去了。
軟體開發、伺服器和生活瑣事
PHP Versions Status 2021 文章中看到,目前的 PHP 已經有過半都已經更新到 7.x,是個不錯的消息。
版本大至相同後,社群開發的共用函式庫、PHP 核心較能將花的時間收斂起來用在刀口上,遇到問題在網路上也比較容易找到解決方法。
接下來就看 8.x 的規範定下來後,大家慢慢把程式碼升上去了。
看到 Hacker News 的新聞「PHP Site’s User Database Was Hacked In Recent Source Code Backdoor Attack」:
While this was initially treated as a compromise of the git.php.net server, further investigation into the incident has revealed that the commits were a result of pushing them using HTTPS and password-based authentication, leading them to suspect a possible leak of the master.php.net user database.
從伺服器的記錄猜測,攻擊者是透過 HTTP authentication 的方式,在 git repository 偷偷藏入 backdoor。若猜測是正確的,表示攻擊者可能已經取得 master.php.net 的使用者資料庫。另外也提到網站運作的環境太老舊,攻擊者也可能已經找到軟體上的弱點並透過這些弱點來設計攻擊。
官方已將網站改用 TLS 1.2,並將密碼儲存方式從 MD5 更新為 bcrypt 雜湊。比較好奇如果沒有保留密碼,要怎麼從 MD5 更新為 bcrypt?Hash 二次嗎? XD
若需要偵測 WordPress 目前使用的佈景主題 (theme),可以使用 wp_get_theme()
這個函式:
<?php $theme = wp_get_theme();
回傳值是一個 WP_Theme 物件,可以參考 reference 來做進階判斷。
若要尋找目前以下載的佈景主題資訊,也可以使用 wp_get_theme():
<?php wp_get_theme('twentytwenty'); if (!is_object($theme)) { return 'error'; } echo $theme->get('ThemeURI');
WordPress 預設不會顯示任何的錯誤訊息,若要開發 theme、plugin 來說實在不方便。但可以在 wp-config.php 中新增參數供開發人員使用。
<?php // .... // allow debug define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'SCRIPT_DEBUG', true ); define( 'SAVEQUERIES', true ); define( 'WP_DEBUG_DISPLAY', true);
再多一些除錯訊息:
<?php // .... ini_set( 'display_errors', 1 ); error_reporting(E_ALL);
搬到 WordPress 也過了幾週,這裡整理一下我搬家、整理資料用到的 WordPress 外掛。這邊會提到的外掛包含搬移資料、快取、圖片 CDN、程式碼標記、RSS 等工具,但因我沒特別做 SEO (只要自己搜尋找得到資料就好),所以不會提及 SEO 相關外掛和工具。
這是我找到一個很好用的搬家工具,從 Blogger 轉資料、圖片到 WordPress,中間完全不需要進行設定會人工介入,工具跑完文章和圖片都已經好端端匯入 WordPress,留言、分類、標籤也一併拉回來。
我可能較心急,不然似乎還可以提供 Blogger 做 301 redirect,讓流量直接導至新網站。
Blogger Importer Extended 是付費工具,但可以一次就完整把所有資料複製回 WordPress,個人覺得這個價格比外包找人整合資料庫便宜多了,非常值得購買。
就是個 Syntax Higlighter,但不只支援多種程式語言的 highlight,也同時支援 inline highlight、新版 WordPress 的 block editor。輕輕鬆鬆就可以達到需要的效果: