PHP intval() 浮點數與字串轉換安全陷阱分析
intval() 基礎行為 int intval(mixed $var, int $base = 10) 將變數轉為整數。base 參數指定進制(2-36 或
PHP 核心安全加固:從 open_basedir 到防注入實戰總結
前言 代碼安全體現了開發者的綜合素質。本文從服務器配置、代碼層面兩大維度,總結 PHP 開發中常見的安全隱患與修復方案,幫助構建更健壯的應用。 一、 服務器層
善用 php.ini disable_functions 禁用高危 PHP 函式
核心防禦機制 php.ini 的 disable_functions 指令可直接在引擎層禁用指定函式,無需修改程式碼即可阻斷整類攻擊向量。被禁用函式被呼叫時會拋
PHP $_REQUEST 陣列安全隱患深度解析
便利背後的風險 許多開發者為了省去判斷 POST/GET 的程式碼,習慣直接使用 $_REQUEST。但深入分析會發現,$_REQUEST 不僅合併 $_GET
PHP 5.2.x 防禦 Hash 碰撞拒絕服務攻擊的 Patch 方案
漏洞緣起與官方因應 上週 Dmitry 在 PHP 5.4 即將釋出前夕,引入新設定項 max_input_vars: Added max_input_vars
PHP 5.3.9 遠端程式碼執行漏洞 (CVE-2012-0830) 深度剖析
漏洞背景與修補演進 還記得先前討論的 PHP Hash Collisions DoS 漏洞嗎?最初開發團隊的修補方案是:當輸入變數超過 max_input_va
PHP 全站防 SQL 注入綜合解決方案
前言 SQL 注入是 Web 應用中最常見也最危險的漏洞之一。本文提供一套完整的 PHP 防注入方案,涵蓋輸入過濾、參數類型檢查、SQL 關鍵字攔截等多層防護機
PHP SQL 注入攻擊與防禦經典案例深度剖析
SQL 注入核心原理 SQL 注入本質是資料與程式碼未嚴格分離,攻擊者透過精心構造的輸入,打破 SQL 語句原本結構,竄改查詢邏輯。根本原因在於直接拼接未經處理
PHP 危險函數停用指南:打造安全的伺服器環境
為什麼要停用危險函數? PHP 內建多個可執行系統指令、操作檔案系統、修改執行環境的函數,若被惡意利用將導致伺服器完全淪陷。根據最小權限原則,生產環境應停用所有
支援中英數混合、自訂字體的 PHP 驗證碼進階實作
功能豐富的 Captcha 類別完整解析 這是一個支援中文、英文、數字混合、自訂字體、干擾線、干擾點、文字扭曲、邊框等進階功能的驗證碼類別,適合對安全性與使用者
PHP 隨機密碼生成三大經典演算法:ASCII 碼法、字符集法、密碼學安全法完整比較
前言:隨機密碼生成的核心挑戰 隨機密碼廣泛應用於用戶初始密碼、重設密碼、API Token、資料庫密鑰等場景。核心挑戰在於:**熵源品質** (隨機數是否可預測
PHP 防 SQL Injection 完整實例:統一過濾 GET/POST 參數
前言 本文提供一個可直接複製部署的 PHP 防注入實例,採用「統一入口過濾 + 黑名單攔截 + 強制型別」三層架構,適合快速強化既有專案安全性。程式碼已處理 m
PHP 全站防 SQL Injection 通用過濾器:GET/POST/COOKIE 統一攔截實作
前言 在無法全面重構舊專案採用 PDO 時,部署一個「全站統一輸入過濾器」作為第二道防線,能有效攔截大多數自動化掃描與通用 Payload。本文提供一個可直接
PHP 內建防 SQL Injection 函數深度對比:addslashes vs mysql_real_escape_string vs mysql_escape_string
前言 許多 PHP 開發者仍習慣用 addslashes() 防禦 SQL Injection,卻不知其在多位元組字符集(GBK、BIG5、UTF-8 某些情況