Reikwijdte
Methoden, zeggingskracht en grenzen
Wat PHP Checker daadwerkelijk doet, wat een resultaat zegt en waar de grenzen liggen.
Drie controlemethoden, één beoordeling
Alle methoden gebruiken dezelfde vaste beoordelingsregels. Er wordt geen generatieve AI gebruikt. Er wordt onderscheid gemaakt naar de herkomst van de gegevens:
- Website controleren: de versie-aanwijzing komt uit een HTTP-responsheader. Ze geldt als ongeverifieerde versie-aanwijzing.
- Controlebestand: een klein, ondertekend PHP-bestand op je webruimte meldt de versie die je website daadwerkelijk uitvoert. Dat is een bevestigde opgave.
- Versie beoordelen: de opgave komt van jou. Ze geldt als handmatige opgave en wordt niet door de dienst gecontroleerd.
Zo verloopt de externe check
- Het adres wordt op onze server gecontroleerd: alleen
http://ofhttps://, standaardpoorten, geen inloggegevens, geen parameters, geen IP-adressen. Zonder protocol wordthttps://toegevoegd; internationale domeinnamen worden omgezet naar hun ASCII-vorm. - De domeinnaam wordt via DNS opgelost. Wijst ook maar één adres naar een intern, gereserveerd of geblokkeerd netwerk, dan wordt niets opgehaald.
- De verbinding wordt vast gekoppeld aan het gecontroleerde IP-adres. Certificaat en servernaam worden daarbij normaal gecontroleerd.
- Daarna volgt een HEAD-verzoek. Alleen als de server HEAD niet ondersteunt (HTTP 405 of 501), volgt een GET waarvan de body direct wordt afgebroken.
- Maximaal drie doorverwijzingen worden gevolgd; elk doel wordt opnieuw gecontroleerd. Van HTTPS naar HTTP wordt niet teruggeschakeld.
- Alleen het laatste antwoord wordt beoordeeld. Geanalyseerd worden de headers
X-Powered-ByenServer, en alleen gegevens die uitdrukkelijk als PHP zijn gemarkeerd (bijv.PHP/8.3.36).
Het hele proces is beperkt tot 20 seconden. Cookies, inloggegevens of headers van je browser worden niet aan de doelwebsite doorgegeven. De doelwebsite ziet het IP-adres van onze server (195.90.214.181) en de identificatie PHP-Checker/1.0 (+https://php-checker.de/pruefumfang).
Resultaten en hun betekenis
- Versie-aanwijzing onder de fixversie
- De gemelde versie ligt in dezelfde branch onder de eerste gecorrigeerde versie. Controleer of je provider een fix heeft teruggeport en regel de update.
- Versie-aanwijzing komt overeen met gecorrigeerde versie
- De gemelde versie bereikt de gecorrigeerde versie. De aanwijzing is niet geverifieerd en geldt niet automatisch voor alle PHP-processen.
- Controle bij leverancier vereist
- Een leverancierspakket met een oudere basisversie. Een backport is alleen aangetoond met passend bewijs van de leverancier voor precies dit pakket en beide CVE’s.
- Voorlopige versie – aparte controle vereist
- Alfa-, bèta-, RC- of ontwikkelversies krijgen geen vrijgave voor productie.
- Branch zonder officiële fixversie
- Voor oude branches (bijv. 8.1 en ouder) noemt het PHP-project geen fix. Ze gelden niet als opgelost op basis van hun versienummer.
- Branch niet in de controledata
- Nieuwe of onbekende branches worden pas beoordeeld nadat betrouwbare bronnen zijn opgenomen.
- Patchstatus van buitenaf niet te bepalen
- Geen bruikbare, eenduidige of consistente PHP-aanwijzing. Dat is geen veiligheidsoordeel – positief noch negatief.
- Controle niet voltooid
- Fout, time-out, blokkade of afbreking. Een niet-voltooide controle betekent geen vrijgave.
Grenzen van de uitspraak
- Een versie-aanwijzing is geen bewijs van een patch. Headers kunnen afkomstig zijn van een cache, proxy, beveiligingssysteem, foutpagina of een andere applicatie.
- Een passende versie bevestigt noch het geïnstalleerde pakket, noch alle draaiende PHP-processen. PHP-FPM is niet zonder meer uitgezonderd van de lekken.
- De daadwerkelijke uitbuitbaarheid wordt niet gecontroleerd.
- Infectie: niet gecontroleerd. Een update sluit een eerdere infectie niet uit.
Wat PHP Checker niet biedt
Malwaredetectie, poortscans, volledige WordPress- of CMS-controles, controles van andere software en automatische serverreparaties vallen buiten de functionaliteit. Voor elk van deze taken zou een eigen, gedefinieerde reikwijdte nodig zijn.
Bescherming tegen misbruik
Om te voorkomen dat de dienst als open proxy of tegen servers van anderen wordt misbruikt, gelden vaste limieten per aanvrager, per doelwebsite en voor de hele dienst, plus een beperkt aantal gelijktijdige controles. Wordt een limiet bereikt, dan krijg je een melding om te wachten. Valt de limitering uit, dan worden er geen verzoeken gestart.