[WireGuard] 架設穿透防火牆的家用伺服器網路環境(Homelab)

不得不說,WireGuard 真的是很強大的發明!能讓使用這套應用的電腦像畫圈圈一樣的圈在一起,就算網路提供者不同也不影響。 也因為 WireGuard 的設計,讓我這免費仔能用最低成本方式來蹭時下最夯的 Home Lab!XD(最近大家為了跑 AI 都去各種串聯顯卡或主機) 除了需要對應長時間開機 …

[WordPress] 透過 Nginx 的 Reverse Proxy 反向代理與 Sub Filter 字串取代對外開啟內網通道服務

最近在玩通道服務 [VPS] 使用通道服務 frp / sish 把 localhost 本機防火墻內 WordPress 網站對外公開的方法 的時候總是會因為 WordPress 輸出有絕對路徑的關係,所有引用到的資源(css/js/png..)都會失聯。 原本覺得如果通道服務能做到取代字串的話就 …

[WordPress] 解決網站使用 Content Security Policy(CSP)後產生一些問題的解決方法

上週台積電的合作公司網站檢測出現了這個 Content Security Policy(CSP)缺失項目要修正更新。 調整了第一版掛上去後,又檢測出第一版的設定不夠安全,要去除使用 script-src 中的 unsafe-inline 這個方法。 先前處理星展銀行的開發案都沒這麼嚴格勒! 而且由於 …

[WordPress] 部署架構將 Core 與 wp-content 分開的解構處理方法

自從經手過 WordPress.com、WordPress VIP、Pressable 這三家 Automattic 自家的 WordPress 專業代管服務後就一直對他們家的管理方式感到好奇,也是目前我覺得最漂亮的做法! 把 wp-content 與 Core 核心切開,使用者、開發者就算有 SS …

[WooCommerce] 擴充 Shortcode 短碼參數的兩種方法

WordPress 有一個很強的功能模組就是「Shortcode API」,知名 Page Builder 頁面編輯器 WPBakery 也是以此打出名號。 不過有時候有些 Shortcode 短碼就差一點點滿足目標需求時怎辦? 我通常會有兩個解法: 找找看有沒有 Hook 勾點來強化 繼承那個短碼 …

[WordPress] 移除 WPDB 針對攻擊資料庫 Hash 加密的 Placeholder Escape 方法

之前在粉絲頁筆記過 WordPress v4.8.3 後,增加了這個功能去防止針對 SQL 的攻擊。 昨天又碰到一次發現好像沒在這邊筆記過,來寫一下XD 如果直接把 $wpdb->prepare 方法處理過的 SQL Query 拿來看會發現一堆 Hash 過的字串,不易閱讀。 這邊說的移除, …

[WordPress] 指定提醒網站會員注意事項的功能

昨天因應客戶需求開發,想要設計一個能在前端顧客瀏覽網站時出現通知的功能。 這功能不是全站大橫幅「公告」類型,而是「針對性」的指定通知某個顧客的方式。由於是與系統發信同步,所以就沒有特別設計一個後台來做指定顧客與內容的方法,純粹條件滿足有發信,就補上這樣的通知給使用中的顧客提醒。 方法設計如下: 發信 …

[VPS] 使用通道服務 frp / sish 把 localhost 本機防火墻內 WordPress 網站對外公開的方法

前幾天在逛 GitHub 的時候看到這份通道服務懶人包 awesome-tunneling,覺得有趣就先筆記在粉絲頁上。 今天花點時間來消化一下這裡面介紹的開源工具,一番把玩後,真的不經讚嘆這真是太有才了! 完全沒想到一個「通道」服務可以玩得這麼多元XD 正如懶人包推薦,大多數人使用 Cloudfl …

[WooCommerce] 根據選取的金流付款方式觸發其他事件操作的方法

這需求其實原本是業主希望把「金流收取費用的成本」轉嫁給消費者的需求。所以如果選到信用卡付款,就照比例加收 x%,如果是超商付款就加收 x 元…等等 但先說,這其實會違反第三方金流的規範。藍新的金流服務平台服務條款 第二章 會員規範 之 第六條 平台產品使用規範 之 十九、 會員不得將本公司與會員 …

[WordPress] 改寫主題繼承內容對應的範本(template)檔案方法

WordPress 強大的地方不只是單純的「勾點」設計。主題的引入架構也是一絕,從理解 Template Hierarchy 範本階層架構就可以知道,如果要把某一個單獨的內容透過「完全不同」方式來呈現也不是問題。變數形式的將範本檔案 template file 給建立並置放於佈景(子)主題中就可以。 …

文章
Filter
Apply Filters
Mastodon