HTTP Keep-Alive 長連線下判斷請求結束的兩種方法
短連線 (Connection: close) 以 TCP FIN/EOF 判斷結束,長連線 (Connection: keep-alive) 需應用層協議界定
PHP 模擬登入 WAP 飛信實現免費發送短信完整教學
第三方飛信 API 不穩定且有資安疑慮,本文示範如何透過模擬登入 WAP 版飛信 (f.10086.cn),利用 cURL 維持 Cookie 會話,實現「給自
PHP 取得完整 HTTP 原始請求報文 (Request Line、Headers、Body)
除錯 API、Webhook、Proxy 轉發時,常需完整重現客戶端發送的原始 HTTP 報文。本文整理從 $_SERVER 重建請求行、解析所有 Header
PHP 掃描並移除 UTF-8 BOM (Byte Order Mark) 批次腳本
UTF-8 檔案若包含 BOM (EF BB BF),會導致 PHP header()、session_start() 提前輸出錯誤,或 XML/JSON 解析
PHP 透過 ODBC 連接 MySQL 資料庫完整範例
雖然原生 MySQLi/PDO 是首選,但某些舊系統或異構環境需透過 ODBC 連接 MySQL。本文提供完整可執行的 PHP + ODBC + MySQL 範
PHP 產生 GUID/UUID 全球唯一識別碼函數實作
GUID (Globally Unique Identifier) 又稱 UUID,為 128 位元二進制數值,標準格式 xxxxxxxx-xxxx-xxxx-
CakePHP 整合 MongoDB 完整教學:安裝、設定與 Model 操作
本文記錄 CakePHP 專案整合 MongoDB 的完整步驟,涵蓋 MongoDB 服務安裝、PHP mongo 擴充套件載入、DataSource 外掛部署
PHP 連接 Access 資料庫常見四大錯誤與解決方案
PHP 串接 Access (.mdb) 常採用 ODBC 或 OLEDB 兩種方式,但路徑解析、驅動版本、權限設定易導致連線失敗。本文整理四大典型錯誤訊息、成
PHP 輸出轉義後的 JavaScript 字串函數
將 PHP 變數內嵌至 JavaScript 程式碼時,必須處理換行、引號、反斜線等特殊字元,否則會導致 JS 語法錯誤或 XSS 風險。本文提供 jsform
PHP 限制 IP 區段存取與封鎖特定 IP 表單提交實作
針對惡意留言、垃圾表單提交等情境,可在 PHP 入口處(如 feedback.php)加入 IP 判斷邏輯,封鎖特定 IP 或整個網段。本文示範如何取得真實客戶
PHP 強制瀏覽器下載檔案而非線上開啟的通用函數
當需提供 PDF、Excel、壓縮檔等檔案下載,而非讓瀏覽器直接開啟(如線上預覽 PDF)時,需透過 HTTP 標頭控制 Content-Disposition
PHP 過濾 HTML 字串與防止 SQL 注入的實作策略
資料寫入資料庫前的清洗是 Web 安全的基石。本文整理一套完整的輸入過濾方案,涵蓋魔術引號相容、HTML 實體編碼、SQL 關鍵字過濾、非法字串偵測(精確/模糊
PHP 批量替換腳本:掃描目錄、支援正則、適用木馬清理與內容更新
針對大量檔案需同步修改內容(如清理掛馬代碼、批量更新版權資訊、統一替換關鍵字)的需求,本文提供一個功能完整的 PHP 批量替換工具。支援遞迴掃描子目錄、指定副檔
PHP 中 && 與 & 的差異:邏輯運算子 vs 位元運算子
PHP 開發者常混淆 &&(邏輯 AND)與 &(位元 AND),兩者用途截然不同,誤用易導致邏輯錯誤或效能問題。 邏輯運算子 && 用於布林邏輯判斷,表達「
解決 PHP 「Forbidden: You don't have permission to access」權限錯誤
在本機以 localhost 測試 PHP 程式正常,但改用區域網路 IP(如 https://10.10.50.195/test.php)存取時,卻出現 40
PHP 使用 file_get_contents("php://input") 讀取原始 POST 資料實作範例
當需要處理非標準表單提交(如 JSON、XML 或原始資料流)時,$_POST 超全域變數可能無法正確解析資料。此時可使用 file_get_contents(
PHPBB 釋出 3.0.12 維護版本「Richard 'D¡cky' Foote」
PHPBB 官方團隊於 9 月 28 日正式發布最新維護版本 3.0.12,代號為「Richard D¡cky Foote」。此版本專注於修復既有錯誤,並未新增
PHP 生成圖形驗證碼完整指南:GD 庫安裝、兩種實現方案與安全強化
環境準備:啟用 GD 擴展 # Linux 編譯 ./configure --with-gd --with-freetype-dir --with-jpeg-d