---
name: azion-isente-um-parametro-de-query-string
description: >-
  Impeça que uma regra interna dispare em um argumento de query string, e deixe-a disparando no resto, pelo Azion Console, pela Azion CLI ou pela API.
---

# Isente um parâmetro de query string

Você pode criar uma exceção do WAF que impede uma regra interna de pontuar um argumento de query string pelo Azion Console, pela Azion CLI ou pela API. A exceção abaixo impede que a regra `1013`, a regra do apóstrofo, dispare no argumento `q` de `/search`, e a deixa disparando em todo outro argumento, path e header.

---

## Pré-requisitos

- O rule set que bloqueou a requisição, como `storefront-waf`.
- O id da regra interna que disparou. Para lê-lo, consulte [Leia o score de uma requisição bloqueada](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/ler-score-do-bloqueio/).
- A [Azion CLI](/pt-br/documentacao/devtools/cli/) instalada e um personal token configurado, para o procedimento da CLI.
- Um personal token, para a requisição à API.

---

## Crie a exceção

**Console**

Para criar a exceção pelo Azion Console:

1. **Abra a página WAF Rules**

   Acesse o [Azion Console](https://console.azion.com/) > **Edge Libraries** > **WAF Rules**.

2. **Selecione o rule set que bloqueou a requisição**

3. **Abra a aba Allowed Rules e selecione + Allowed Rule**

4. **Selecione a regra a isentar**

   Em **Rule ID**, selecione `1013`.

5. **Descreva a exceção e restrinja-a a um path**

   Em **Description**, informe `Allow apostrophes in the storefront search term`. Em **Path**, informe `/search`.

6. **Nomeie a parte da requisição**

   Em **Condition**, selecione *Specific Query String Name* e informe `q` no campo **Name** que aparece. Em **Operator**, selecione `contains`.

7. **Salve a exceção**

A regra `1013` não pontua mais o argumento `q` de `/search`, e continua pontuando todo outro argumento, path e header.

Para a mesma exceção com todo campo que ela aceita explicado, consulte [Crie uma exceção do WAF](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/configurar-waf-allowed-rules/).

**CLI**

Para criar a exceção com a Azion CLI, salve-a como `exception.json`:

```json
{
  "rule_id": 1013,
  "name": "Allow apostrophes in the storefront search term",
  "path": "/search",
  "operator": "contains",
  "active": true,
  "conditions": [
    { "match": "specific_query_string_name", "name": "q" }
  ]
}
```

Depois, crie a exceção a partir do arquivo:

```bash
azion create waf-exceptions --waf-id <waf-id> --file exception.json
```

```text
Created WAF Exception with ID 123464
```

A saída informa o id da nova exceção.

Passe o corpo com `--file`. Na Azion CLI 4.23.0 a flag `--conditions` nunca alcança a requisição: qualquer valor que você passe, o comando envia um array vazio e a API o recusa com `10049 Min Length List Field` apontando para `/data/conditions`.

**API**

Salve a exceção como `exception.json`:

```json
{
  "rule_id": 1013,
  "name": "Allow apostrophes in the storefront search term",
  "path": "/search",
  "operator": "contains",
  "active": true,
  "conditions": [
    { "match": "specific_query_string_name", "name": "q" }
  ]
}
```

Envie uma requisição `POST` para o endpoint de exceptions do rule set, com o arquivo como corpo:

```bash
curl --request POST \
  --url https://api.azion.com/v4/workspace/wafs/<waf-id>/exceptions \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data @exception.json
```

A API responde `202` e ecoa a condition sob `data.conditions`, inalterada.

> **nota**
>
> `specific_query_string_name` nomeia um argumento, então a condition aceita um `name`; `any_query_string_name` aceita apenas `match` e cobre todo argumento da requisição. Duas chaves assumem um valor padrão mais largo do que um falso positivo costuma precisar: `rule_id` assume `0`, que é toda regra interna, e `operator` assume `contains`, que trata `name` como uma substring em vez de um padrão.

---

## Próximos passos

- [Isente um header de requisição](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/isentar-header.md): O mesmo formato para um header, e a condition que silenciosamente cobre todos eles.
- [WAF Exceptions](/pt-br/documentacao/plataforma/firewall/waf/custom-allowed-rules.md): Cada campo que uma exceção carrega, e os quinze valores de match que uma condition aceita.
