web-security
スター1
フォーク0
更新日2026年4月25日 22:57
驗證、授權與 OWASP 安全檢查清單
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SKILL.md
readonlyメニュー
驗證、授權與 OWASP 安全檢查清單
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
完整的網站開發指南,涵蓋 UI/UX 設計、React/Vue/Next.js 前端框架、Laravel/Node.js 後端、Coding Style 與互動式選擇精靈
Web 動畫(Framer Motion、GSAP、View Transitions API、Lottie)。CSS 動畫見 ui/no-ai-feel.md
REST API 與 GraphQL 設計規範指南
認證授權(Auth.js、Clerk、JWT/Cookie 安全、RBAC/ABAC)。不含 OAuth provider 細節
Laravel、Node.js、Django、FastAPI 後端框架指南
JavaScript、TypeScript、PHP、Python、CSS 代碼規範
| id | web_security |
| name | web_security |
| description | 驗證、授權與 OWASP 安全檢查清單 |
❌ 危險
$query = "SELECT * FROM users WHERE id = " . $_GET['id'];
✅ 安全
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$id]);
❌ 危險
<div><?= $userInput ?></div>
✅ 安全
<div><?= htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8') ?></div>
<!-- 表單中加入 CSRF Token -->
<form method="POST">
<input type="hidden" name="_token" value="<?= csrf_token() ?>">
</form>
// 雜湊密碼
$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);
// 驗證密碼
if (password_verify($password, $hash)) {
// 正確
}
session_regenerate_id(true); // 登入後重新產生 ID
session_set_cookie_params([
'lifetime' => 0,
'path' => '/',
'secure' => true, // HTTPS only
'httponly' => true, // 禁止 JS 存取
'samesite' => 'Lax'
]);
// 伺服器端驗證(必須)
$rules = [
'email' => 'required|email|max:255',
'password' => 'required|min:8',
];
// 永遠不要信任前端驗證
# 安全標頭
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'self'
核心原則:deny-by-default、最小權限、伺服端必驗(不信任 client)、所有秘鑰用 secret manager。