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->getHeader('Origin');
|
149 |
$originHeader = $request->getHeader('Origin') ?? $request->getHeader('Referer');
|
150 |
|
150 |
|
151 |
// Comprobar si la solicitud tiene una cabecera 'Origin'.
|
151 |
// Comprobar si la solicitud tiene una cabecera 'Origin'.
|
Línea -... |
Línea 152... |
- |
|
152 |
if ($originHeader) {
|
- |
|
153 |
$origin = $originHeader->getUri();
|
- |
|
154 |
|
- |
|
155 |
// --- INICIO DE LA DEPURACIÓN ---
|
- |
|
156 |
// Escribimos en el log de errores de PHP las variables que estamos comparando.
|
- |
|
157 |
error_log("CORS Check - Origen de la solicitud: " . $origin);
|
152 |
if ($originHeader) {
|
158 |
error_log("CORS Check - Whitelist cargada: " . implode(', ', $allowedOrigins));
|
153 |
$origin = $originHeader->getUri();
|
159 |
// --- FIN DE LA DEPURACIÓN ---
|
154 |
|
160 |
|
155 |
// Si el origen de la solicitud está en nuestra lista blanca, configuramos las cabeceras CORS.
|
161 |
// Si el origen de la solicitud está en nuestra lista blanca, configuramos las cabeceras CORS.
|
156 |
if (in_array($origin, $allowedOrigins)) {
|
162 |
if (in_array($origin, $allowedOrigins)) {
|