Security
File types cannot be second-guessed
security.missing-content-type-options
Why this matters
Without this header a browser may ignore what your server says a file is and guess instead. An uploaded image that is secretly a script can then be run as one.
Who fixes it
You can, usually
Roughly how long
10 minutes
Care needed
Low risk to change
How to fix it
Send `X-Content-Type-Options: nosniff` on every response.
On your platform
WordPress
Your host or CDN rather than WordPress. Cloudflare can add it as a response header rule; Apache hosting can add it to `.htaccess`; a headers plugin will do it if you have neither. This one has a single correct value and breaks nothing, so take whichever of the three is nearest to hand.
Shopify
Shopify sends this on storefront responses and merchants cannot change storefront headers either way, so there is nothing to do. If it is being reported, check that the address scanned is really served by Shopify rather than by a redirect or a parked domain.
Drupal
The Security Kit (`seckit`) module sets it without server access; otherwise add it to the web server configuration with the others.
Joomla
Covered by the System – HTTP Headers plugin in Joomla 4 and 5, which sets it by default once the plugin is enabled.
How we score it
Failing this check takes up to 6 points off your security score. It is a fact about your site rather than a measurement, so it reads the same on every scan until you change something.
Does your site pass this one?
This check runs on every scan, along with the other 106. Free, no account, and you see the evidence for each result.
Check my siteOther security checks
- A content security policy is in placeA content security policy tells the browser which scripts it may run. Without one, anything that manages to get injected into a page — through a compromised plugin, a hijacked advert, or a comment field — runs with the same trust as your own code.
- Browsers are told to stay on HTTPSYour site works over HTTPS, but it never tells browsers to remember that. The very first visit of the day can still be sent over an insecure connection before the redirect happens, which is the window an attacker on shared Wi-Fi needs.
- Camera, microphone and location access are restrictedAnything embedded in your pages — an advert, a chat widget, a map — can ask the visitor for access to their camera, microphone or location, and the request appears to come from you.
- Cookies are only sent over an encrypted connectionA cookie without the Secure flag is sent over a plain, unencrypted connection as readily as over an encrypted one. Anyone sharing a network with the visitor — a café, a hotel, an office guest network — can read it, and a single request to the http version of the site is enough to expose it, even when every page normally redirects to https. The flag costs nothing and there is no reason for a cookie on a secure site to be missing it.
- Folders are not browsableYour server is showing a file listing instead of a page. Anyone can read it and see exactly what is in that folder — backups, spreadsheets, database dumps, anything left there and forgotten.
- Login cookies are hidden from scripts on the pageA session cookie marked HttpOnly can be sent to the server but cannot be read by JavaScript running on the page. Without that flag, any script that ends up on the site — through a compromised plugin, a hijacked advert, or a comment field that did not escape its input — can read a logged-in session and use it from somewhere else. It is the difference between a script injection being an embarrassment and being an account takeover.