Skip to content
Free tool

Website Security Check: Check your website's security

Website Security Check lets you check your own website's security from the outside: It fetches the page once like a normal visitor, detects PHP, web server, and CMS versions, compares them with current releases and security advisories, and grades security headers, TLS, SPF, DMARC, and DKIM from A to F. Free, with no sign-up, and results in seconds.

Built by Florian Galz

For website owners and admins: The check is passive and does not attempt attacks. Your server's self-test output is analyzed only in your browser.

Have your own server? With root access, you can install security updates yourself as soon as they're released.

Critical PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619

The BSI warns of two critical vulnerabilities in PHP (warning dated 21.10.2026). All unpatched PHP versions are affected; 8.5.12, 8.4.27, 8.3.36, and 8.2.35 are patched. Check now whether your server is affected.

Read the BSI warning

Enter a domain or URL. The check fetches the page once like a regular visitor, reads its headers and certificate, checks the redirect from http:// to HTTPS, tests whether TLS 1.0/1.1 is still accepted, and queries DNS for SPF, DMARC, and DKIM. It doesn't try exploits, scan ports, or probe other paths.

Example result

What a Website Security Check result looks like

Enter a domain and the check fetches the page once, compares detected versions with current releases and security advisories, and assigns a grade from A to F. The result below is fictional; a real check of example.com will look different.

Example · Example with fictional response headers for example.com

Likely affected

Input

Domain
example.com
Without a protocol, the check starts with https://.

Result: grade, detected software, and assessment

Overall grade
F (37 out of 100 points)
Calculated from response headers only: the real check also examines the certificate, TLS versions, and email records.
Server
nginx/1.22.1 (Debian)
Server header
PHP
PHP/8.2.28
X-Powered-By header
Assessment of CVE-2026-109618 / -109619
Likely affected
Version below 8.2.35; backport possible — check with the self-test

Findings

  • 1 error
  • 3 warnings
  • 2 notices
  • ErrorPHP 8.2.28: likely affected by CVE-2026-109618 and CVE-2026-109619.

    This branch is patched from 8.2.35 onward. Because Debian backports patches while keeping the version number, the server self-test provides a reliable answer.

  • WarningSecurity support for PHP 8.2.28 ends on 2026-12-31.

    Plan your move to PHP 8.3, 8.4, or 8.5.

  • Warningnginx 1.22.1: This branch no longer receives upstream updates; the latest version is 1.31.8.

    If the software comes from the distribution, fixes often retain the old version number. The self-test reveals its actual patch status.

  • NotePHP 8.2.28: Version 8.2.35 is already available in the same branch.

    If the software comes from the distribution, fixes often retain the old version number. The self-test reveals its actual patch status.

  • WarningThe server reveals exact versions in the response headers (X-Powered-By, Server).

    Hide version details: expose_php=Off, server_tokens off.

  • Note4 security headers are missing: Content-Security-Policy, X-Frame-Options / frame-ancestors, Referrer-Policy, Permissions-Policy.

What the Website Security Check is for

Spot vulnerabilities from outside and verify them on your server

Whether it's a current security advisory, a PHP update, or a look at the headers, the check shows where your site appears vulnerable in seconds.

Keep an eye on current advisories

The check compares detected versions against its catalog of security advisories, currently including the critical PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619, and identifies the patched versions.

Are versions up to date?

Compares PHP, nginx, Apache, OpenSSL, WordPress, Drupal, and other software against release data from endoflife.date: an update is available, a release branch is nearing end of life, or it no longer receives updates.

Check security headers

Checks HSTS, Content-Security-Policy, X-Content-Type-Options, clickjacking protection, Referrer-Policy, and Permissions-Policy, with explanations of what they do.

TLS, cookies, and email

Checks the TLS certificate, whether the server still accepts TLS 1.0 or 1.1, HTTP-to-HTTPS redirects, cookie flags, and the domain's SPF, DMARC, and DKIM records.

Find exposed versions

Shows which software and exact versions your server reveals publicly, and how to hide them.

Self-test for backports

A read-only command on your server that starts no programs shows operating system support, pending security updates, whether a restart is needed, package versions of web servers, databases, Redis and Node.js, and whether a fix is already available through a distribution backport.

How it works

How to check your website's security

Five steps from domain to reliable answer.

Step 1

Enter domain

Enter your website's domain or URL in the quick check and click “Check”. If you omit the protocol, the check starts with https://.

Step 2

Understand the grade and deductions

You see the overall grade from A to F and the biggest deductions, detected software and whether it's up to date, and a verdict on current security advisories.

Step 3

Review headers, TLS, and email

Review the assessments of security headers, the certificate, TLS versions, the HTTPS redirect, SPF, DMARC, and DKIM, then follow the remediation guidance.

Step 4

Verify on the server

If a version can't be detected or is older than the fix, switch to “Self-test on the server”, run the displayed command, and paste in the output. Analysis runs in your browser.

Step 5

Check again

After updates or header changes, run the check again after about 10 minutes—that's how long results are cached—and compare the new grade.

Passive, not an attack

Testing website security: What an external check can reveal

From the outside, the check only sees what the server reveals. Distributions such as Debian and Ubuntu often backport patches while keeping the old version number. That's why each security advisory gets one of three verdicts, but never “secure”.

Likely affected
A current security advisory affects the detected version, which has not yet been patched. If it's a distribution package, the fix may already have been backported; the self-test can determine that.
Not detectable
Most servers don't reveal a version. Hiding it is good, but says nothing about patch status and therefore costs no points. In this case, check the server with the self-test.
Patched
The detected version is at least as recent as the patched version in the security advisory.

Security headers

Security Header Check: Which headers should your website have?

These six response headers make browsers an ally. Missing headers rarely indicate an immediate vulnerability, but they pose an easily fixable risk.

Strict-Transport-Security
Forces browsers to use HTTPS and prevents downgrade attacks.
Content-Security-Policy
Limits which scripts and resources a page can load—the most important defense against cross-site scripting.
X-Content-Type-Options
Prevents browsers from interpreting files differently from how the server serves them.
X-Frame-Options / frame-ancestors
Protects against your site being invisibly embedded in another site's frame and clicked.
Referrer-Policy
Controls how much of the address is shared when someone clicks an external link.
Permissions-Policy
Selectively disables browser features such as the camera, microphone, or location for your site.

Explore more

More tools

FAQ

Frequently asked questions about Website Security Check

Quick answers about the check, grading, backports, and current PHP vulnerabilities.

It fetches your page once like a normal visitor (following a limited number of redirects) and reads what the server reveals: the Server and X-Powered-By headers, the CMS generator in the HTML, six security headers, cookie flags, the TLS certificate, old TLS versions, the HTTPS redirect, and the domain's SPF, DMARC, and DKIM records. It compares detected versions against release data from endoflife.date and current security advisories. In this fictional example, example.com reports PHP version 8.2.28, is therefore likely affected, and receives a grade of F.

No, deliberately not. A vulnerability scanner actively probes a site, for example by sending test requests to many paths. Doing that to someone else's server isn't appropriate for a public tool. This check is passive: It doesn't attempt attacks or probe additional paths, but shows where your site appears vulnerable from the outside. For a more reliable answer, use the self-test on your server.

Each check starts at 100 points and deducts a weighted number of points for each issue: a current security advisory or invalid certificate costs many points, while missing security headers cost no more than 8 points in total. A score of at least 90 earns an A, 80 a B, 70 a C, 60 a D, and 50 an E; anything below that gets an F. If a current security advisory affects the detected version, the grade is capped at D; if server software is no longer supported, it's capped at C. Issues that aren't visible from outside don't cost points, so even an A does not prove a server is secure.

From the outside, you can only see what a server chooses to reveal. If it doesn't disclose a version, the verdict is “not detectable”: Hiding it is good, but says nothing about patch status. And an old version number may already be patched, because Debian, Ubuntu, and other distributions backport security fixes while retaining the old number. The check therefore says “likely affected”, “not detectable”, or “patched”, but never “secure”.

Check on the server with php -v. For web requests, though, the PHP-FPM or Apache version matters, not just the command-line version. The self-test command shows all PHP installations found, their versions, and the relevant settings. Some servers reveal the version externally in the X-Powered-By header; you can disable this with expose_php=Off.

You run a short, read-only command on your server and paste its output into the tool. The command doesn't start any programs; it only reads the package database and configuration files: the operating system and kernel, package versions of PHP, nginx, Apache, OpenSSL, MySQL, MariaDB, PostgreSQL, Redis, and Node.js, available updates from the package manager's local cache, whether a restart is pending, relevant php.ini values, and whether the package changelogs mention the fixes. Analysis runs in your browser: the output is neither sent nor stored. This also lets you check internal servers and assess distribution backports.

Two critical PHP vulnerabilities flagged by the BSI on 21 October 2026. According to the advisory, older versions going back to at least PHP 5 are also affected. Versions 8.5.12, 8.4.27, 8.3.36, and 8.2.35 are patched; the PHP team has provided backport patches for 7.4, 8.0, and 8.1. As temporary mitigations, the BSI recommends session.upload_progress.enabled=0, memory_limit=-1, a low post_max_size, and, for PHP 8.5, fatal_error_backtraces=0. These workarounds only make an attack harder; they do not replace updating.

No. Website Security Check is intended for website owners and admins. It assesses a website's software versions, security headers, TLS, and email records. It doesn't check whether a store is trustworthy, a site is used for phishing, or a site distributes malware.

The check is free and requires no sign-up. To avoid overwhelming servers with requests, it allows up to 10 checks per minute per IP address and 30 per minute per checked host. Results are cached for about 10 minutes. The check does not access addresses with private IPs, localhost, or credentials in the URL. Use the self-test for internal servers.

Any more questions?

Contact Support
Your own server?

Control your own updates — on VPS and Dedicated Servers

With root access, you can install PHP and web server security updates as soon as they're released — on a ZAP-Hosting VPS or Dedicated Server.

4.4/5 Trustpilot32,000+ Active serversSince 2010

No setup. No risk. Online in seconds.

Flexible TermCancel anytimeOnline in 60 seconds

Looking for more tools? View all network tools