OWASP Top 10 Security Checklist
This checklist turns the OWASP Top 10:2021 list of web application security risks into practical checks developers can run during code review and before release. It is for PHP and web developers, testers and students. Each section is one OWASP category with specific things to verify in your code and configuration. The list is based on the 2021 edition; check owasp.org for any newer edition and map these checks to it.
How to use this checklist
- Review one category at a time. Go through each section against your application, focusing on features that handle logins, data and user input.
- Check code and configuration. Many items are in server, framework or cloud settings, not just in code, so review both.
- Test, do not assume. Try the attack safely on your own staging site, for example changing an ID in a URL, to prove a control works.
- Track and repeat. Log each gap as a ticket, fix it, and repeat the checklist for every major release.
0 of 58 checked
A01:2021 Broken Access Control
A02:2021 Cryptographic Failures
A03:2021 Injection
A04:2021 Insecure Design
A05:2021 Security Misconfiguration
A06:2021 Vulnerable and Outdated Components
A07:2021 Identification and Authentication Failures
A08:2021 Software and Data Integrity Failures
A09:2021 Security Logging and Monitoring Failures
A10:2021 Server-Side Request Forgery (SSRF)
Frequently asked questions
What is the OWASP Top 10?
It is an awareness document from the Open Worldwide Application Security Project that lists the most critical web application security risks. It is a starting point, not a complete security standard.
Is this checklist based on the latest OWASP Top 10?
It is organised by the 2021 categories. Check owasp.org for the current edition; most of these checks remain relevant because the underlying risks change slowly.
Is following the OWASP Top 10 enough to be secure?
No. For a fuller list of requirements use the OWASP Application Security Verification Standard (ASVS), and combine it with code review and testing.
Which item should a PHP developer fix first?
Start with prepared statements for SQL, output escaping, server-side access checks and password hashing, because these block the most common serious attacks.