# Filter by Content

There are several ways to filter requests based on their content.

[Custom Signatures](/v2.12.0/product-walkthrough/security/profiles/acl-policies.md#custom-signature) are a powerful method for specifying content restrictions for traffic. They are included within [ACL Policies](/v2.12.0/product-walkthrough/security/profiles/acl-policies.md), which are used within [Profiles](/v2.12.0/product-walkthrough/security/profiles.md), which are assigned to various locations of your site/application at [Settings->Web Proxy->Security Profiles](/v2.12.0/product-walkthrough/settings/web-proxy/security-profiles.md).

A more direct method is to [create content filters directly for a location](/v2.12.0/product-walkthrough/settings/web-proxy/security-profiles.md#content-filtering-for-a-location). This too provides powerful filtering capabilities. Here's a comparison between this and Custom Signatures.

* Both can deny requests based on their content.
* **Location-based filtering makes it easier to&#x20;*****require*****&#x20;certain content in incoming requests.**
* Location-based filtering is simpler when setting up different filters for different locations.&#x20;
* Custom Signatures are modular, and once defined, they can be re-used in multiple places throughout the interface. A location-based filter definition cannot do this. Instead, you have to manually define the filtering conditions for each location.

[Dynamic Rules](/v2.12.0/product-walkthrough/security/dynamic-rules.md) can be used to rate-limit a requestor, based on the content that is requested.

[Args Analysis](/v2.12.0/product-walkthrough/security/args-analysis.md) examines the characters found in arguments. Depending on its mode, it can block requests if unexpected characters are found, or pass them on to the WAF for further inspection. It can also act as an inverse content filter; those requests with arguments which contain only whitelisted characters can bypass WAF filtering.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://waap.docs.link11.com/v2.12.0/using-the-product/how-do-i.../filter-by-content.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
