| Línea 144... |
Línea 144... |
| 144 |
// --- Inicio de la lógica de la whitelist de CORS ---
|
144 |
// --- Inicio de la lógica de la whitelist de CORS ---
|
| 145 |
// Obtener los orígenes permitidos desde la configuración. Si no está definido, es una cadena vacía.
|
145 |
// Obtener los orígenes permitidos desde la configuración. Si no está definido, es una cadena vacía.
|
| 146 |
$whitelistString = $this->config['leaderslinked.cors.allowed_origins'] ?? '';
|
146 |
$whitelistString = $this->config['leaderslinked.cors.allowed_origins'] ?? '';
|
| 147 |
$allowedOrigins = array_map('trim', explode(',', $whitelistString));
|
147 |
$allowedOrigins = array_map('trim', explode(',', $whitelistString));
|
| Línea 148... |
Línea 148... |
| 148 |
|
148 |
|
| Línea 149... |
Línea 149... |
| 149 |
$originHeader = $request->getHeaders()->get('Referer');
|
149 |
$originHeader = $request->getHeader('Origin');
|
| 150 |
|
150 |
|
| 151 |
// Comprobar si la solicitud tiene una cabecera 'Referer'.
|
151 |
// Comprobar si la solicitud tiene una cabecera 'Origin'.
|
| Línea -... |
Línea 152... |
| - |
|
152 |
if ($originHeader) {
|
| - |
|
153 |
$origin = $originHeader->getFieldValue();
|
| - |
|
154 |
|
| - |
|
155 |
// MEJORA: Se elimina la barra inclinada (/) del final del origen si existe.
|
| 152 |
if ($originHeader) {
|
156 |
// Esto hace que la comparación sea más robusta. 'http://localhost:5173/' coincidirá con 'http://localhost:5173'.
|
| 153 |
$origin = $originHeader->getFieldValue();
|
157 |
$origin = rtrim($origin, '/');
|
| 154 |
|
158 |
|
| 155 |
// --- INICIO DE LA DEPURACIÓN ---
|
159 |
// --- INICIO DE LA DEPURACIÓN ---
|
| 156 |
// Escribimos en el log de errores de PHP las variables que estamos comparando.
|
160 |
// Escribimos en el log de errores de PHP las variables que estamos comparando.
|