Child pages
  • WHM API 1 Functions - modsec_edit_rule
Skip to end of metadata
Go to start of metadata

Description

This function stages edits to a ModSecurity™ rule. The system does not save changes directly to the configuration file. Instead, it stages the changes to the configuration file's .STAGE file (for example, for the example.conf file, the system stages changes in the example.conf.STAGE file).

Important:

In cPanel & WHM version 76 and later, when you disable the WebServer role, the system disables this function. For more information, read our How to Use Server Profiles documentation.

Examples 


 JSON API
https://hostname.example.com:2087/cpsess##########/json-api/modsec_edit_rule?api.version=1&config=modsec_vendor_configs%2Fexample.conf%20&id=1234567&rule=SecAction%20%22pass%2Cid%3A1234567%22
 XML API
https://hostname.example.com:2087/cpsess##########/xml-api/modsec_edit_rule?api.version=1&config=modsec_vendor_configs%2Fexample.conf%20&id=1234567&rule=SecAction%20%22pass%2Cid%3A1234567%22
 Command Line
whmapi1 modsec_edit_rule config=modsec_vendor_configs%5C%2Fexample.conf id=1234567 rule=SecAction'"\pass,id:1234567\"'


Notes:

  • You must URI-encode values.
  • For more information and additional output options, read our Guide to WHM API 1 documentation or run the whmapi1 --help command.
  • If you run CloudLinux™, you must use the full path of the whmapi1 command:

    /usr/local/cpanel/bin/whmapi1

 Output (JSON)
{
    "data": {
        "rule": {
            "disabled": 0,
            "rule": "SecAction "pass,id:1234567"",
            "id": "1234567",
            "meta_msg": ""
        }
    },
    "metadata": {
        "version": 1,
        "reason": "OK",
        "result": 1,
        "command": "modsec_edit_rule"
    }
}
 Output (XML)
<result>
  <data>
    <rule>
      <disabled>0</disabled>
      <rule>SecAction "pass,id:1234567"</rule>
      <id>1234567</id>
      <meta_msg/>
    </rule>
  </data>
  <metadata>
    <version>1</version>
    <reason>OK</reason>
    <result>1</result>
    <command>modsec_edit_rule</command>
  </metadata>
</result>


Note:

Use WHM's API Shell interface (WHM >> Home >> Development >> API Shell) to directly test WHM API calls.

Parameters

ParameterTypeDescriptionPossible valuesExample
configstring

Required

The ModSecurity configuration file.

The path to a valid ModSecurity configuration file, relative to the /usr/local/apache/conf/ directory.
modsec_vendor_configs/example.conf
idinteger

Required

The ModSecurity rule's ID.

A positive integer.
1234567
rulestring

Required

The new rule.

A valid ModSecurity rule.

 

 Click to view...
SecAction "pass,id:1234567"

Returns

ReturnTypeDescriptionPossible valuesExample
rulehashA hash of information about the new ModSecurity rule.This hash includes the id, rule, disabled, and meta_msg returns. 

id

integer

The ModSecurity rule's ID.

The function returns this value in the rule hash.

 A valid ModSecurity rule ID.
1234567

rule

string

The ModSecurity rule's text.

The function returns this value in the rule hash.

 A valid ModSecurity rule.
 Click to view...
SecAction "pass,id:1234567"

disabled

Boolean

Whether the rule is disabled.

The function returns this value in the rule hash.

  • 1 — Disabled.
  • 0 — Enabled.
0