過濾所有輸入,轉義所有輸出。貫穿始終的安全真言。
ctype_alnum, ctype_digit, ctype_alpha... 快速檢查字符類型preg_match('/^[a-z0-9_]+$/i', $input) 靈活驗證格式成因:用戶輸入未轉義直接輸出到 HTML/JS 上下文
<!-- 危險示例 --> <form action="<?php echo $_SERVER['PHP_SELF'];?>">...</form>
防禦:
htmlspecialchars($str, ENT_QUOTES, 'UTF-8')Content-Security-Policy: default-src 'self'; script-src 'self'資源:XSS Cheat Sheet | Shiflett XSS
本質:利用受害者已登錄會話,誘導發起惡意請求
防禦:
Set-Cookie: ...; SameSite=Strict攻擊者預設 Session ID,誘導受害者使用,登錄後劫持會話。
防禦:session_regenerate_id(true) 登錄後重新生成 ID。
竊取/預測有效 Session ID。
防禦:HTTPS 全站、Session ID 足夠長隨機、IP/UA 綁定、定期輪換。
本質:輸入被拼接為 SQL 片段執行
防禦:
password_hash($pwd, PASSWORD_BCRYPT) / PASSWORD_ARGON2IDpassword_verify($input, $hash)安全是系統工程,無絕對安全,只有持續投入、分層防禦、快速響應。