

Per-domain toggle
The first tab lists every domain on the account with a switch:- On. ModSecurity inspects requests to this domain. This is the default and the recommended state.
- Off. Requests pass through without inspection.
See which rules fire
The Hit List tab shows recent requests that ModSecurity blocked or flagged. Each row has:- Timestamp. When the request hit the rule.
- Rule ID. The rule that fired (e.g.
949110is the OWASP “anomaly score exceeded” rule). - IP address. Where the request came from.
- Host. Which of your domains was the target.
- URI. The path the attacker tried to hit.
- Action. What ModSecurity did (
deny,log,pass).
Exempt a rule
If a real visitor or your own legitimate WordPress plugin is tripping a rule, exempt the rule rather than disabling ModSecurity wholesale.Find the Rule ID in the Hit List
Reproduce the failure, refresh the Hit List, copy the Rule ID of the row that matches.
Open the Hit List entry
Click the row. cPanel shows full context: the request body, the matched pattern, and a Disable Rule button.
Disable the rule
Click Disable Rule. cPanel writes an exemption that disables the rule for your account. The action is immediate, no restart needed.For per-domain or per-path exemptions (rather than account-wide), open a ticket; we’ll write a more targeted
SecRuleRemoveById directive into your VirtualHost.Common rule classes
| Rule range | What it catches |
|---|---|
| 941xxx | Cross-site scripting (XSS) attempts |
| 942xxx | SQL injection |
| 943xxx | Session fixation |
| 944xxx | Java / Apache Struts exploits |
| 949xxx | Anomaly score thresholds (the “summary” rules) |
| 980xxx | OWASP CRS internal correlation rules |
| 218xxx, 219xxx | Bot detection and rate limiting (vendor extensions) |
Common issues
Legitimate forms post empty fields and get blocked
Legitimate forms post empty fields and get blocked
Some 942xxx SQL injection rules are aggressive about quote characters and SQL keywords. A user typing don’t in a contact form can match. The fix is a per-rule exemption (Disable Rule on the specific rule ID), not turning the firewall off.
My WAF won't let me upload a file
My WAF won't let me upload a file
File upload often triggers 941 (XSS) on filenames containing characters like
<, >, ;. Rename the file before uploading, or exempt the upload endpoint via a ticket.WordPress admin or page builder breaks after enabling ModSecurity
WordPress admin or page builder breaks after enabling ModSecurity
Page builders like Elementor and Divi POST big chunks of HTML and JavaScript that look like XSS to a generic rule. There’s a known set of rule IDs to exempt for each major builder; open a ticket with the page builder name and we’ll apply the standard exemptions.
The Hit List is empty even after a clear attack
The Hit List is empty even after a clear attack
ModSecurity is off on that domain (check the toggle), or the attack didn’t match a CRS rule. Layered defense (Imunify360, Cloudflare WAF) catches what the rule set misses.

