PHP 木馬防禦實戰:目錄限制、函數禁用、權限最小化
前言 Webshell(PHP 木馬)是伺服器被入侵後駐留、提權、橫向移動的核心工具。防禦核心在於事前限制攻擊面:限制 PHP 腳本可存取路徑、禁用高危函數、降
PHP 位運算後門分析:按位取反 (~) 構造免殺 Webshell 原理與防禦
前言 PHP 的位運算符 ~(按位取反)在特定編碼下能將可讀字串轉為「亂碼」,再經二次取反還原。攻擊者利用此特性構造免殺 Webshell,繞過 WAF 靜態特
PHP 單例模式日誌類:自動分檔、錯誤分級、資源節省
前言 生產環境應用程式離不開日誌記錄。優秀的日誌類應具備:單例模式避免重複開啟檔案控制代碼、自動分檔防止單一檔案過大、錯誤分級區分一般事件與嚴重錯誤、效能優化減
PHP 匯入 CSV 檔案亂碼完整解決方案:Windows 與 Linux 跨平台編碼處理
前言 CSV 是資料交換最通用的格式,但跨平台(Windows ↔ Linux)匯入時,編碼問題層出不窮:中文變亂碼、欄位錯位、甚至導入失敗。本文系統整理兩大核
PHP 遞迴掃描目錄:列印所有檔案與子目錄結構
前言 在檔案管理、備份腳本或建立檔案索引時,常需遞迴遍歷指定目錄下的所有檔案與子目錄。PHP 提供 opendir()、readdir()、is_dir() 等
修改 Windows Hosts 檔案:將 localhost 映射為自訂網域
前言 在本地開發測試時,常希望用有意義的網域名(如 myproject.local、api.test)取代 localhost 或 127.0.0.1,方便區分
PHP 防止 CSRF 攻擊:驗證正常訪問與外部訪問的 Token 機制
前言 跨站請求偽造 (CSRF) 是常見的 Web 安全漏洞。攻擊者誘導已登入用戶訪問惡意頁面,在用戶不知情下向目標站點發送偽造請求。防禦核心在於「驗證請求來源
PHP 獲取 SWF 動畫截圖:COM 元件實作範例
前言 在早期 Web 開發中,若需從 SWF (Flash) 動畫擷取靜態畫面作為縮圖或預覽,常見做法是在 Windows 伺服器上安裝 Flash Playe
PHP 簡單 XML 解析:simplexml_load_file 函數完整指南
前言 在 PHP 開發中,處理 XML 資料是常見需求。simplexml_load_file() 函數提供了一種直觀且高效的方式,將 XML 文件直接轉換為物
PHP SimpleXML 解析 XML 進階技巧與陷阱避坑
simplexml_load_string() 是 PHP 處理 XML 最便捷的工具,但其返回的 SimpleXMLElement 物件行為與普通陣列/物件截
PHP json_decode 回傳陣列 vs 物件完整差異與最佳實踐
核心差異:第二個參數 $associative int(2) } echo $arr[a]; // 1 多維陣列/巢狀結構行為 name; // Alice
PHP JSON 編碼解碼完整指南(json_encode/json_decode 進階用法與陷阱)
json_encode:PHP 變數 → JSON 字串 基本語法 json_encode(mixed $value, int $flags = 0, int
PHP 字串遞增遞減行為深度解析(Perl 風格 vs C 風格)
現象觀察 PHP 字串變數支援 ++/-- 運算子,但行為與數值型態截然不同,沿襲 Perl 風格而非 C 風格: 91) 核心規則總結 僅支援純字母(
PHP 產生 CSS Sprite 合併圖片完整實作(自動掃描目錄、生成樣式表)
什麼是 CSS Sprite? CSS Sprite(CSS 精靈圖)是將多張小圖片合併為一張大圖,再透過 background-position 定位顯示,減
PHP 實現無 JavaScript 頁面跳轉的三種方法
前言 雖然 JavaScript window.location.href 是最常見的跳轉方式,但在某些場景(如 CSP 限制、JS 被禁用、SEO 友善、伺服
CodeIgniter 3 多檔案上傳擴充庫完整實作(MY_Upload)
背景與需求 CodeIgniter 3 內建 CI_Upload 僅支援單檔上傳。實務上常需一次上傳多檔(如圖片庫、附件),本文提供一個繼承 CI_Upload
PHP 路徑處理全攻略:__DIR__、include_path、自動載入最佳實踐
常見路徑常數與變數 語法說明範例輸出 __DIR__當前檔案所在目錄(PHP 5.3+),等同 dirname(__FILE__)/var/www/ht
PHP 發送 POST 請求三大主流方式完整比較(cURL、stream、Socket)
前言 PHP 中發送 HTTP POST 請求主要有三種原生方式:cURL 擴展、stream_context + file_get_contents、fsoc