Enterprise Systems
Web Application Security Basics Every Business Should Require
Updated June 2026 · 9 min read · by Brian

Most business owners treat web application security as a specialist's problem, something to worry about only after a breach makes the news. That is backwards. The decisions that determine whether your application is safe are made early, by the people who build it, and they are mostly unglamorous: how passwords are stored, who can see what, whether the connection is encrypted, whether the software it depends on is kept up to date. You do not need to be a security engineer to hold those decisions to a standard. You need to know what the common risks are in plain English and what baseline to require before you sign off on a build. This guide gives you both. It walks through the handful of failures that account for most real-world breaches, the protections every web application should have, and why building security in costs far less than bolting it on after something goes wrong.
The Common Web Application Security Risks, in Plain English
Most breaches are not the work of a genius adversary exploiting an exotic flaw. They come from a short list of well-understood mistakes that keep recurring because they are easy to make and easy to overlook. The security community maintains an informal top list of these, and you do not need the jargon to understand them. If you know what they are, you can ask the right questions and recognize a sloppy answer.
Injection is the classic. It happens when an application takes whatever a user types and hands it straight to a database or system as if it were a trusted command. A visitor types something cleverly malformed into a search box or login field, and instead of being treated as data, it gets executed, letting them read or destroy records they should never touch. Broken authentication is the next: weak login handling that lets attackers guess passwords, reuse stolen ones, or hijack a logged-in session. Broken access control is when the application checks who you are but not what you are allowed to do, so an ordinary user can reach an admin page or view another customer's data simply by changing a number in the address bar.
Sensitive-data exposure rounds out the list of the heavy hitters. This is private information, passwords, payment details, personal records, stored or transmitted without proper protection, so that anyone who intercepts it or gets into the wrong place can read it in plain text. And underpinning many breaches is a quieter problem: outdated dependencies. Modern web applications are assembled from large amounts of third-party code, and when a known vulnerability is discovered in one of those components, every application still running the old version is exposed until it updates. Attackers scan the internet for exactly these unpatched, publicly known holes because they are the easiest way in.
- Injection: user input gets executed as a command instead of treated as plain data
- Broken authentication: weak login handling lets attackers guess, reuse, or hijack credentials and sessions
- Broken access control: the app verifies who you are but not what you are allowed to do
- Sensitive-data exposure: private data stored or sent without proper encryption
- Outdated dependencies: known vulnerabilities in third-party components left unpatched
- Security misconfiguration: default settings, open permissions, and verbose error messages left in place
The Web Application Security Baseline to Require of Your Developers
You are not expected to audit code. But you are entitled to set a standard and ask your developers to confirm they meet it, the same way you would expect a contractor to build to code without you knowing how to pour a foundation. The protections below are not advanced or expensive. They are the baseline that competent teams treat as table stakes, and the absence of any one of them should prompt a direct conversation rather than a shrug.
Treat this as a checklist you can hand over and ask someone to walk you through. A good developer will be able to say yes to each item and explain how. Vague answers, or treating these as optional extras for a future phase, tell you something important about how the rest of the work was done. Security is not a feature you add later; it is a property of how the thing was built, and these items are where that property lives.
- Use HTTPS everywhere so traffic between users and the application is encrypted in transit, not just on the login page
- Store passwords hashed with a strong, modern algorithm, never in plain text or with reversible encryption
- Offer or require multi-factor authentication, especially for administrators and any access to sensitive data
- Enforce least-privilege access so each user and system component can reach only what its role actually needs
- Keep dependencies and the underlying platform patched on a regular schedule, not only when something breaks
- Encrypt sensitive data at rest so a stolen database or backup is not readable
- Validate and sanitize all user input on the server so malformed input cannot be executed
- Take regular backups and test the recovery process, so a breach or mistake is recoverable rather than fatal
- Log meaningful security events and keep the logs, so you can detect and reconstruct an incident
Encryption, Passwords, and Access: the Three That Matter Most
If you remember only a few things from this guide, make them these three, because they prevent the most common and most damaging failures. The first is encryption everywhere. HTTPS should cover the entire application, not only the page where someone types a password, because anything sent in plain text can be read by whoever is positioned to intercept it, on shared Wi-Fi or anywhere along the path. Sensitive data should also be encrypted where it is stored, so that a copied database or a misplaced backup is gibberish to whoever ends up with it rather than a ready-made spreadsheet of your customers.
The second is how passwords are handled. Properly built applications never store the actual password. They store a hashed version, a one-way scramble that lets the system verify a correct login without ever holding the real thing, so that even a stolen database does not hand attackers your users' passwords. Pair that with multi-factor authentication, which requires a second proof of identity beyond the password, and you defeat the single most common attack: someone logging in with a password stolen or reused from somewhere else.
The third is access control done on the principle of least privilege. Every user, and every part of the system, should have exactly the access its job requires and nothing more. An employee who needs to read orders should not be able to delete customers. A component that sends email should not have keys to the entire database. This limits the blast radius when something does go wrong, and something eventually will. Least privilege is the difference between an incident contained to one account and an incident that becomes a company-wide emergency.
- Encrypt in transit (HTTPS sitewide) and at rest (stored data and backups), not selectively
- Store only hashed passwords, so a database breach does not expose the real credentials
- Require multi-factor authentication to defeat stolen and reused passwords
- Grant least-privilege access to every user and system component to contain any single failure
Why Security Is Cheaper Built In Than Bolted On
The cheapest time to make an application secure is while it is being built, and the cost rises steeply the longer it is deferred. Designing for least privilege, encryption, and safe input handling from the start adds little to a competent build because those choices shape the structure of the code as it is written. Retrofitting them later means unpicking decisions that are now woven through the whole application, which is slow, expensive, and error-prone. Worse, the version running without them is exposed the entire time, so every day of delay is a day of risk you are carrying.
Then there is the cost of getting it wrong, which dwarfs the cost of doing it right. A breach is not a single line item. It is incident response, downtime, and emergency engineering, followed by the longer tail of lost customer trust, regulatory attention if personal data was involved, and the cleanup of whatever the attacker touched. For a small or mid-sized business, that combination is the kind of event that defines a year. Building the baseline in from the start is not a tax on the project. It is the cheapest insurance available, and it is paid in a little discipline up front rather than a great deal of money and reputation later.
This is also why the right time to ask these questions is before the build, not after. Requiring the baseline as a condition of the work costs nothing and changes how the application is built. Discovering its absence after launch turns a design choice into a remediation project. The owners who fare best are the ones who set the standard early and made meeting it part of what they were paying for.
- Bake in least privilege, encryption, and input handling during the build, where they are nearly free
- Treat the period before security is added as live exposure, not a harmless backlog item
- Weigh the modest cost of building it in against breach response, downtime, and lost trust
- Make the security baseline a written condition of the work, not a hoped-for extra
- Ask the questions before the build, when answers shape the code, not after, when they mean rework
What to Ask For and How to Verify It
You can hold a build to a standard without reading a line of code, and you should. Ask your developers to confirm, in writing, which of the baseline protections the application has and how each one is implemented. The point is not to catch anyone out. It is to make security an explicit, agreed part of the work rather than an assumption, and to create a record you can return to if questions arise later.
Beyond the build itself, two things keep an application secure over time. The first is keeping it patched: software you depend on will have vulnerabilities discovered after launch, and a regular update schedule is what closes them before someone exploits them. The second is having a recovery plan you have actually tested, because backups you have never restored are a hope, not a safeguard. For regulated or sensitive work, ask for the same discipline you would expect of any auditable system: logging that records who did what, access that follows least privilege, and the ability to prove after the fact that controls were in place. That evidence is what separates a defensible position from an awkward one when something goes wrong.
- Get written confirmation of which baseline protections are implemented and how
- Require a regular patching schedule for dependencies and the underlying platform
- Confirm backups exist and that the restore process has actually been tested
- Ensure security-relevant events are logged and the logs are retained
- For regulated work, require evidence that access and controls can be demonstrated after the fact
Frequently asked
- What is web application security in plain terms?
- It is the set of practices that keep a website or online application safe from misuse: encrypting connections, storing passwords safely, controlling who can access what, keeping the underlying software patched, and being able to recover if something goes wrong. You do not need to implement any of it yourself, but you should know enough to require it of whoever builds your application and to recognize when an answer falls short.
- I run a small business. Are we really a target?
- Yes, and usually not because anyone singled you out. Most attacks are automated. Tools scan the internet looking for applications with known, unpatched weaknesses and exploit whatever they find, regardless of company size. Smaller businesses are often more exposed precisely because they assume they are too small to matter and skip the basics. The baseline in this guide is what takes you off the easy-target list.
- How much does it cost to build security in from the start?
- Far less than most owners expect, because the baseline protections are standard practice for competent developers rather than premium add-ons. The real cost shows up when security is skipped and has to be retrofitted, or worse, when a breach forces an emergency cleanup. Building it in is paid mostly in discipline up front. Bolting it on, or recovering from its absence, is paid in money and lost trust.
- What is multi-factor authentication and do we need it?
- Multi-factor authentication requires a second proof of identity beyond the password, such as a code from an app or a hardware key, so a stolen or reused password alone is not enough to get in. It defeats the single most common type of account takeover. You should require it at minimum for administrators and anyone who can reach sensitive data, and offering it to all users is increasingly the expected standard.
- How do I know if my current web application is secure?
- Start by asking your developers to walk you through the baseline in this guide and confirm, in writing, which protections are in place and how. Honest, specific answers are a good sign; vague ones or treating these as future work are not. For sensitive or regulated systems, an independent security review gives you an outside read rather than relying solely on the people who built it.
More guides

