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 warningEnter 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 affectedInput
- 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
Website Down Checker
Check whether a website is online, slow, or offline: HTTP status, response time, and the cause of errors such as DNS issues, timeouts, TLS errors, or 5xx responses.
Built by Eric Mager
DNS Lookup
Look up a domain’s A, AAAA, MX, TXT, NS, CNAME, SOA and CAA records, plus Reverse DNS for any IP.
Built by Luca Stanek
Email DNS Health Checker
Check a domain's SPF, DKIM, DMARC and MX at a glance, with clear guidance.
Built by Jakub Martyniak
SPF, DKIM & DMARC Generator
NewGenerate SPF, DKIM and DMARC records for sending email from your domain: choose an email provider, configure your own servers and policy, generate a DKIM key in your browser and add everything directly to your ZAP-Hosting domain.
Built by Florian Galz
IP Blacklist Checker
Check whether an IP address or mail server is on spam blacklists (RBL/DNSBL) such as Spamhaus, Barracuda, and SpamCop, including reverse DNS and removal guidance.
Built by Luca Stanek
SSL Checker
Check an SSL/TLS certificate’s status, issuer, validity period, and expiration date at a glance.
Built by Sebastian Rademacher
Redirect Checker
Check a URL’s redirect chain hop by hop: status codes (301/302/307/308), HTTP headers, server IP, and response time for each redirect.
Built by Luca Stanek
Port Checker
Check whether specific ports are open on an IP or hostname—select a protocol or game instead of scanning all ports at once.
Built by Sebastian Rademacher
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 SupportControl 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.
No setup. No risk. Online in seconds.
Looking for more tools? View all network tools