--- id: php-form-validation title: "PHP Form Validation" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["PHP_SELF exploit", "XSS", "PHP 폼 검증"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["php", "programming", "w3schools", "forms", "security", "xss"] raw_sources: ["https://www.w3schools.com/php/php_form_validation.asp"] applied_in: [] github_commit: "" --- # [[PHP Form Validation]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) `$_SERVER["PHP_SELF"]` used raw in a form's `action` attribute is a genuine XSS vulnerability β€” a crafted URL like `test_form.php/">` gets echoed verbatim into the HTML, injecting a live script tag; wrapping it in `htmlspecialchars()` converts the dangerous characters to harmless HTML entities, neutralizing the exploit. [S1] ## 🧠 핡심 κ°œλ… (Core concepts) - **`$_SERVER["PHP_SELF"]`** β€” returns the current script's filename; often used as a self-submitting form's `action`. [S1] - **PHP_SELF XSS vulnerability** β€” appending a crafted path suffix to the URL lets an attacker inject a `