Howdah 1.0 is released. Howdah is an open-source, defensive web application firewall that loads into PHP itself and refuses abusive request shapes before they exhaust memory — on PHP 5.4 through 8.5, including the end-of-life branches that will never get the official fix.
What's in 1.0
- Layer 1 complete. 0.1 shipped the critical multipart-upload limits. 1.0 adds the rest of the first layer: input-shape limits (variable count, array nesting, key length) and request-header limits, each configurable with a sensible default.
- apt and yum repositories at
pkg.howdah.org, signed, so you canapt-get install php8.1-howdahoryum install php81-howdahinstead of unpacking a tarball. - An install picker that writes the exact install, verify and rollback commands for your OS, PHP source, version and server type.
- aarch64 builds alongside x86_64.
- A browser demo that runs the real core, compiled to WebAssembly, so you can see a verdict without installing anything.
Who it's for
Sysadmins who run PHP on their own servers — especially servers stuck on old PHP. If you can upgrade or patch, do that first; Howdah is for when you cannot, or until you can. It runs entirely inside your PHP: no account, no cloud service, no outbound connections.
Start in detect mode
Howdah ships in detect mode. The critical resource-exhaustion limits still block (that is the point — a detect-mode rollout is never open to a part-flood during the first hours), while everything else logs so you can watch it before you let it block. When the logs look clean, switch to block. Check the coverage table for your PHP version first.
Honest about scope
Howdah does one narrow thing: it refuses resource-exhaustion request shapes from inside PHP. It is not a general-purpose WAF, and it is not a replacement for patching. Every protection claim on this site links to the test or measurement behind it. We reproduce only the harmless structure of an attack in our tests — counts and sizes, never a working exploit — and we say plainly what we have and have not verified. Layers 2 to 4 (request inspection, runtime sink checks, post-breach containment) are the roadmap, not part of 1.0.
Get it
Head to the install picker, or read the documentation. The source, the lab and this site are all on GitHub. If you try it, we would love to hear how it went — especially on PHP versions the coverage table has not reached yet.