---
title: Filtro wf_sn_client_ip
canonical: https://wpsecurityninja.com/docs/filters-hooks/wf_sn_client_ip/
---
El firewall resuelve la IP del visitante con **Detección de IP del visitante** (`auto`, `remote_addr`, `cf_connecting_ip`, `x_forwarded_for` o `x_real_ip`). En modo Automático también usa **CIDR de proxies de confianza** (y rangos de Cloudflare) antes de leer cabeceras de proxy. Después, el resultado pasa por `wf_sn_client_ip` para que puedas ajustarlo con proxies personalizados.

Guía para usuarios: [Detección de IP del visitante](https://wpsecurityninja.com/es/docs/firewall/deteccion-ip-visitante/). Lista de proxies de confianza desde código: [`wf_sn_trusted_proxy_cidrs`](https://wpsecurityninja.com/es/docs/filters-hooks/wf_sn_trusted_proxy_cidrs/).

## Firma del filtro

```php
apply_filters( 'wf_sn_client_ip', $resolved, $source, $remote_addr );
```

| Parámetro | Tipo | Descripción |
|---|---|---|
| `$resolved` | string | IP elegida por el modo de detección activo |
| `$source` | string | Clave del modo (por ejemplo `auto`, `x_forwarded_for`) |
| `$remote_addr` | string | `REMOTE_ADDR` sin procesar |

Devuelve una cadena de IP válida. Valores no válidos pueden hacer que el firewall trate al visitante como desconocido.

## Ejemplo: confiar en una cabecera personalizada en un proxy interno

```php
add_filter( 'wf_sn_client_ip', function ( $resolved, $source, $remote_addr ) {
    if ( ! empty( $_SERVER['HTTP_X_SN_REAL_IP'] ) ) {
        $custom = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_SN_REAL_IP'] ) );
        if ( filter_var( $custom, FILTER_VALIDATE_IP ) ) {
            return $custom;
        }
    }
    return $resolved;
}, 10, 3 );
```

Usa lógica de cabecera personalizada solo cuando un proxy inverso que controlas establece la cabecera. No confíes en cabeceras enviadas por el cliente en internet público.

> ¿No sabes cómo añadir este código? Consulta [Cómo incluir código personalizado en tu sitio](https://wpsecurityninja.com/es/docs/installation-and-usage/codigo-personalizado-sitio/).
