How the cookies check works
Cookies are small pieces of data your site asks the browser to keep, such as a shopping basket or a login session. Three flags on each cookie decide how well it is protected. This check reads them.
What it reads
The Set-Cookie headers on your home page and up to two linked pages (a login or account page if the home page links to one). It reads the same pages as the security headers check, so it makes no extra requests. It never logs in, so it only sees cookies that are set before login.
What it reports
- Secure missing: on a site served over
https://, a cookie without theSecureflag can also be sent over an insecure connection. - HttpOnly missing: a cookie whose name looks like a session or login cookie (for example
PHPSESSID,session,auth,token) can be read by scripts on the page. If a malicious script ever gets onto the page, it can steal the session. Cookies that scripts legitimately need, such as consent banners, are not flagged for this. - SameSite missing: without
SameSite=LaxorStrict, the cookie's behaviour when another site sends visitors to yours depends on the browser's default.
Each finding lists the cookie names, so your developer can find where they are set.
What it cannot see
- Cookies set after login, or only on pages the home page does not link to.
- Cookies created by scripts in the browser rather than sent by your server.
- Whether a cookie holds anything sensitive. The check judges by the flags and, for HttpOnly, by the name.
What to do with the result
The fix is usually one setting in your framework or CMS (for example the session cookie options in PHP, Laravel or WordPress plugins) or a cookie rule in the web server. Ask your developer to set Secure, HttpOnly where scripts do not need the cookie, and SameSite=Lax.
See what this looks like on your own site: a free, passive check in about two minutes.
Check my websiteEverything this check can report
- ModerateCookie set without the Secure flag
- MinorSession-like cookie set without HttpOnly
- MinorCookie set without a SameSite attribute
Severity is fixed per finding in our code and never set by the AI that writes the report text. How severity becomes a score is on the methodology page.
The other checks
- How the security headers check works · The instructions your server sends to browsers with every page.
- How the secure connection check works · Your certificate, the encryption your server accepts, and whether visitors are moved to https.
- How the email and DNS check works · The public DNS records that stop fake email in your name, and addresses pointing to services you no longer use.
- How the technology check works · What your site is built with, worked out from what it shows publicly.
- How the vulnerability wave check works · Whether what we can see matches a major vulnerability in the news.
- How the known flaws in components check works · Whether a library or framework version your site shows has a published security advisory.