Security is not a product you buy once and forget. It is a small set of habits applied consistently. The good news: most business websites and web applications can cover the bulk of realistic risks with a handful of basic practices.
HTTPS and certificate handling
Every page must load over HTTPS. This is no longer a nice-to-have, browsers, users and search engines all treat HTTP as broken. Redirect HTTP to HTTPS, renew certificates automatically (most hosts do this for free), and check that mixed-content warnings are gone.
Authentication done right
- Use long passwords or passphrases, not complex short ones.
- Turn on two-factor authentication (2FA) for anything that matters, admin panels, hosting accounts, email, payment tools.
- Use a password manager in the team, not a shared spreadsheet.
- Remove accounts when people leave. "Dormant" accounts are a common entry point.
Admin access
Admin URLs should not be guessable from the outside. Rate-limit login attempts, log failed attempts, and consider an extra layer (IP allowlist or VPN) for highly sensitive panels.
Software updates
Most public vulnerabilities are fixed quickly after disclosure; the actual risk is running software that hasn't been updated in months. Keep the framework, CMS, plugins, runtime and libraries current. Schedule routine updates instead of doing them only after an incident.
Secure handling of user input
- Validate on the server, not only in the browser, anything coming from the client can be modified.
- Use parameterised queries or a proper ORM to prevent SQL injection.
- Escape output correctly to prevent cross-site scripting (XSS).
- Limit what files users can upload, and where they go.
- Rate-limit forms and endpoints that attackers target (login, signup, contact).
Secrets and configuration
- Do not hardcode passwords, API keys or tokens in source code.
- Keep them in environment variables or a secret manager, not committed to the repository.
- Rotate secrets when someone leaves, or after any incident.
Backups and recovery
A backup is not a backup until it has been restored. Regular, automated backups are essential, but so is a tested procedure for restoring them. Ransomware and accidental deletions happen to everyone eventually.
Monitoring and logs
You can't react to what you don't see. At minimum, keep server logs, capture application errors, and set alerts on unusual spikes of 401/403/500 responses. This is how you find out about an attack early instead of after the fact.
Privacy and compliance
- Only collect data you actually need.
- Have a clear privacy policy and cookie consent that reflects reality, not a template copied from somewhere else.
- Understand which data is regulated (payment, health, personal data under GDPR) and treat it accordingly.
Common mistakes
- Security audits that stop at the report. Findings need fixing and verifying, not just archiving.
- "We're too small to be a target". Most attacks are automated and look for any unpatched system.
- Treating passwords as the whole story. 2FA, updates, backups and monitoring matter more than password complexity rules.
- One person holding all the keys. Critical access should have a backup owner, documented clearly.

