Een standaard aanval taktiek is om het systeem te voorzien van ongeldige gegevens, en zo te controleren op fouten en de context waarin foutmeldingen worden teruggegeven. Dit voorziet de aanvaller van informatie over de server waarmee deze mogelijke zwakheden kan vinden.
De meldingen die PHP normaal teruggeeft kunnen erg nuttig zijn voor een ontwikkelaar die aan het debuggen is, zoals dingen als de functie of het bestand dat faalde, het PHP bestand dat fout liep, en het regelnummer waar de fout optrad. Al deze informatie kan worden gebruikt om het systeem te helpen kraken.
Als voorbeeld is de stijl van de foutmeldingen die PHP geeft. Als een aanvaller naar een .html pagina kijkt, en wil weten wat voor back-end er draait (om zwakheden in het systeem te vinden), kan hij, door er foutieve gegevens heen te sturen, er misschien achter komen dat het systeem is gebouwd met PHP.
Een functie foutmelding kan een indictatie zijn dat een systeem een specifieke database engine draait, of kan aanwijzingen geven hoe de website is geprogrammed of is ontworpen. Dit geeft meer aanleiding tot een verder onderzoek naar openstaande database porten, of om te kijken naar speicifieke bugs in een website. Door verschillende stukken van "slechte" gegevens te versturen, kan hij de manier van authenticatie vinden (met behulp van de regelnummers in de foutmeldingen) alsook op zoek gaan naar bugs in andere plaatsen in een script.
Een bestands of normale PHP fout kan aangeven wat voor permissies de webserver heeft, alsmede de structuur en plaats van bestanden op de web server.
Er zijn drie manieren van oplossingen voor dit soort zaken. De eerste is om alle functies zo te maken, dat foutieve invoer in zijn geheel wordt afgevangen. De tweede manier is om alle fout rapportage uit te zetten en de derde is om PHP's eigen foutafhandeling te omzeilen en deze te vervangen door gebruikers gedefineerde fout afhandelings routines. Afhankelijk van je security policies, kan elk van de genoemde drie toepasbaar zijn op jouw situatie.